swagger: '2.0'
schemes:
  - https
host: api.communigator.co.uk
basePath: /
info:
  description: |

    # Introduction
    Welcome to the Communigator API! You can use our API to access the Communigator Marketing Suite API endpoints.

    We have language bindings in Shell, C#, and PHP! You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.

    This documentation is still being worked on.
  version: 1.7.0
  title: Communigator API Documentation
  contact:
    email: support@communigator.co.uk
    url: 'https://www.communigator.co.uk/contact-us/'
  x-logo:
    url: CommuniGator.png
produces:
  - application/json
consumes:
  - application/json
tags:
  - name: Gator SignOn
    description: Gator Single Signon endpoint
  - name: Gator Mail
    description: GatorMail API endpoint
  - name: Gator Leads
    description: GatorLeads API endpoint
  - name: Gator Survey
    description: GatorSurvey API endpoint
securityDefinitions:
  client_auth:
    type: oauth2
    tokenUrl: 'https://oauth.communigator.co.uk/core/connect/token'
    flow: application
    scopes:
      SsoPartnerApi: Allowed to create accounts
  client_application:
    type: oauth2
    flow: password
    tokenUrl: 'https://oauth.communigator.co.uk/core/connect/token'
    scopes:
      openid: OpenId scope
      GatorMailApi: GatorMail scope
      GatorSurveyApi: GatorSurvey scope
      GatorLeadsApi: GatorLead scope
      offline_access: Offline scope
paths:
  /signon/partner/create:
    post:
      summary: Create Account
      description: This endpoint creates a Single Sign On account and a GatorLeads account. This method is only available to Communigator Partners.
      security:
        - client_auth:
            - SsoPartnerApi
      operationId: signon_create
      tags:
        - Gator SignOn
      consumes:
        - application/json
      parameters:
        - name: createAccount
          in: body
          required: true
          schema:
            $ref: '#/definitions/gatorsignon_CreateAccount'
      responses:
        '200':
          description: Account created
          schema:
            $ref: '#/definitions/gatorsignon_createResponse'
        '400':
          description: There was an issue with the submitted data
          schema:
            $ref: '#/definitions/model_error'
      x-code-samples:
        - lang: Shell
          source: |
            curl -X "POST" "https://api.communigator.co.uk/signon/partner/create" \
                 -H "Authorization: Bearer ***** Hidden credentials *****" \
                 -H "Content-Type: application/json; charset=utf-8" \
                 -d $'{
              "firstName": "Joe",
              "products": {
                "gatorLeads": {
                  "registerUpsell": {
                    "trackingQueue": true
                  },
                  "domain": "example.com"
                }
              },
              "lastName": "Blogs",
              "email": "job.blogs@example",
              "companyName": "Example",
              "contactNumber": "012344422333",
              "activate": true,
              "sendEmail": false
            }'
        - lang: C#
          source: "using System;\nusing System.Threading.Tasks; \nusing System.Net; \nusing System.IO; \nusing System.Text; \n \nnamespace MyNamespace { \n\tpublic class MyActivity { \n\t\t  \n\t\tprivate async Task<bool> create () { \n  \n\t\t\tstring url = \"https://api.communigator.co.uk/signon/partner/create\"; \n  \n\t\t\tHttpWebRequest request = (HttpWebRequest)WebRequest.Create (new Uri(url)); \n\t\t\trequest.ContentType = \"application/json; charset=utf-8\"; \n\t\t\trequest.Headers.Add(\"Authorization\", \"Bearer ***** Hidden credentials *****\"); \n\t\t\t \n\t\t\trequest.Method = \"POST\"; \n\t\t\t \n\t\t\tstring postData = \"{\\\"firstName\\\":\\\"Joe\\\",\\\"lastName\\\":\\\"Blogs\\\",\\\"email\\\":\\\"job.blogs@example\\\",\\\"companyName\\\":\\\"Example\\\",\\\"contactNumber\\\":\\\"012344422333\\\",\\\"sendEmail\\\":false,\\\"activate\\\":true,\\\"products\\\":{\\\"gatorLeads\\\":{\\\"domain\\\":\\\"example.com\\\",\\\"registerUpsell\\\":{\\\"trackingQueue\\\":true}}}}\"; \n\t\t\tASCIIEncoding encoding = new ASCIIEncoding (); \n\t\t\tbyte[] byte1 = encoding.GetBytes (postData); \n\t\t\trequest.ContentLength = byte1.Length; \n\t\t\tStream newStream = request.GetRequestStream (); \n\t\t\tnewStream.Write (byte1, 0, byte1.Length); \n\t\t\tnewStream.Close (); \n\t\t\t \n\t\t\tusing (WebResponse response = await request.GetResponseAsync ()) { \n\t\t\t\tusing (Stream stream = response.GetResponseStream ()) { \n\t\t\t\t\treturn true; \n\t\t\t\t\t//process the response \n\t\t\t\t} \n\t\t\t} \n\t\t} \n\t} \n} \n"
  '/mail/{landingZone}/campaign/{campaignId}':
    get:
      summary: Get a campaign
      description: Get campaign by identifier.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getCampaign
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: campaignId
          in: path
          type: integer
          required: true
          description: the identifier of the campaign to get
          format: int32
      responses:
        '200':
          description: Campaign response
          schema:
            $ref: '#/definitions/gatormail_campaignResponse'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/campaign/{page}/{take}':
    get:
      summary: List all campaigns
      description: Gets Paged List of `Campaign` objects.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getCampaignList
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: page
          in: path
          type: integer
          required: true
          description: the page to get
          format: int32
        - name: take
          in: path
          type: integer
          required: true
          description: how many campaigns to get per page
          format: int32
      responses:
        '200':
          description: List of campaigns
          schema:
            $ref: '#/definitions/gatormail_pagedCampaign'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/campaign/{dateRangeSearchType}/{startDate}/{endDate}':
    get:
      summary: Search for campaign on a date
      description: Gets Paged List of `Campaign` objects.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getCampaignListByDateRange
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: dateRangeSearchType
          in: path
          type: integer
          required: true
          description: 'type of date you want to seatch StartDate = 0, InitiatedDate = 1, CreatedDate = 2'
          format: int32
        - name: startDate
          in: path
          type: integer
          required: true
          description: Unix timestamp of the start date
          format: int32
        - name: endDate
          in: path
          type: integer
          required: true
          description: Unix timestamp of the end date
          format: int32
      responses:
        '200':
          description: List of campaigns
          schema:
            $ref: '#/definitions/gatormail_pagedCampaign'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/campaign':
    post:
      summary: Adds a new campaign
      description: Adds a new campaign
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_addCampaign
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: campaign
          in: body
          required: true
          schema:
            $ref: '#/definitions/gatormail_campaign'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/gatormail_campaign'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
    patch:
      summary: Updates a campaign
      description: Updates a campaign
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_updateCampaign
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: campaign
          in: body
          required: true
          schema:
            $ref: '#/definitions/gatormail_campaign'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/gatormail_campaign'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/campaign/{campaignId}/initiate':
    post:
      summary: Initiate Campaign
      description: Initiate Campaign
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_initiateCampaign
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: campaignId
          in: path
          description: the id of the campaign to initiate
          required: true
          type: integer
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/gatormail_campaignInitiate'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/campaign/{campaignId}/sendtest':
    post:
      summary: Campaign Send Test
      description: Send a campaign test email
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_CampaignSendTest
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: campaignId
          in: path
          description: the id of the campaign to initiate
          required: true
          type: integer
        - name: campaign
          in: body
          required: true
          schema:
            $ref: '#/definitions/gatormail_campaignSendtest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/gatormail_campaignSendtestResult'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/history/{campaignId}/opens/{page}/{take}?orderBy=date&orderDirection=asc':
    get:
      summary: List all campaign opens
      description: Gets a paged list of campaign opens.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getCampaignOpenList
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: campaignId
          in: path
          description: the id of the campaign to retrieve opens for
          required: true
          type: string
        - name: page
          in: path
          type: integer
          required: true
          description: the page to get
          format: int32
        - name: take
          in: path
          type: integer
          required: true
          description: how many campaign opens to get per page
          format: int32
        - name: orderBy
          in: query
          type: string
          required: false
          description: 'an attribute to order the results by (defaults to date, but can be any contact attribute)'
          format: string
        - name: orderDirection
          in: query
          type: string
          required: false
          description: the direction to order the results in (asc or desc)
          format: string
      responses:
        '200':
          description: List of campaign opens
          schema:
            $ref: '#/definitions/gatormail_pagedCampaignOpen'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/campaign/results/opens/{campaignId}/{startDate}/{endDate}/{page}/{take}':
    get:
      summary: List a campaigns opens in a date range.
      description: Gets a paged list of a campaigns opens.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getCampaignOpenListByDateRange
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: campaignId
          in: path
          description: the id of the campaign to retrieve opens for
          required: true
          type: string
        - name: startDate
          in: path
          description: unix timestamp for when to start getting data
          required: true
          type: string
        - name: endDate
          in: path
          description: unix timestamp for when to stop getting data
          required: true
          type: string
        - name: page
          in: path
          type: integer
          required: true
          description: the page to get
          format: int32
        - name: take
          in: path
          type: integer
          required: true
          description: how many campaign opens to get per page
          format: int32
      responses:
        '200':
          description: List of campaign opens
          schema:
            $ref: '#/definitions/gatormail_pagedCampaignContactResults'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/campaign/results/opens/{startDate}/{endDate}/{page}/{take}':
    get:
      summary: List all campaign opens in a date range.
      description: Gets a paged list of campaign opens.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getAllCampaignOpenListByDateRange
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: startDate
          in: path
          description: unix timestamp for when to start getting data
          required: true
          type: string
        - name: endDate
          in: path
          description: unix timestamp for when to stop getting data
          required: true
          type: string
        - name: page
          in: path
          type: integer
          required: true
          description: the page to get
          format: int32
        - name: take
          in: path
          type: integer
          required: true
          description: how many campaign opens to get per page
          format: int32
      responses:
        '200':
          description: List of campaign opens
          schema:
            $ref: '#/definitions/gatormail_pagedCampaignContactResults'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/campaign/results/opens/{campaignId}/{page}/{take}':
    get:
      summary: List all opens for a given Campaign.
      description: Gets a paged list of campaign opens.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getAllOpenForCampaign
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: campaignId
          in: path
          description: the id of the campaign to retrieve opens for
          required: true
          type: string
        - name: page
          in: path
          type: integer
          required: true
          description: the page to get
          format: int32
        - name: take
          in: path
          type: integer
          required: true
          description: how many campaign opens to get per page
          format: int32
      responses:
        '200':
          description: List of campaign opens
          schema:
            $ref: '#/definitions/gatormail_pagedCampaignContactResults'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/campaign/results/webhits/{campaignId}/{startDate}/{endDate}/{page}/{take}':
    get:
      summary: List a campaigns web hits in a date range.
      description: Gets a paged list of a campaigns web hits.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getCampaignWebHitsListByDateRange
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: campaignId
          in: path
          description: the id of the campaign to retrieve opens for
          required: true
          type: string
        - name: startDate
          in: path
          description: unix timestamp for when to start getting data
          required: true
          type: string
        - name: endDate
          in: path
          description: unix timestamp for when to stop getting data
          required: true
          type: string
        - name: page
          in: path
          type: integer
          required: true
          description: the page to get
          format: int32
        - name: take
          in: path
          type: integer
          required: true
          description: how many campaign web hits to get per page
          format: int32
      responses:
        '200':
          description: List of campaign web hits
          schema:
            $ref: '#/definitions/gatormail_pagedCampaignContactResults'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/campaign/results/webhits/{startDate}/{endDate}/{page}/{take}':
    get:
      summary: List all campaign web hits in a date range.
      description: Gets a paged list of campaign web hits.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getAllCampaignwebhitsListByDateRange
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: startDate
          in: path
          description: unix timestamp for when to start getting data
          required: true
          type: string
        - name: endDate
          in: path
          description: unix timestamp for when to stop getting data
          required: true
          type: string
        - name: page
          in: path
          type: integer
          required: true
          description: the page to get
          format: int32
        - name: take
          in: path
          type: integer
          required: true
          description: how many campaign web hits to get per page
          format: int32
      responses:
        '200':
          description: List of campaign web hits
          schema:
            $ref: '#/definitions/gatormail_pagedCampaignContactResults'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/campaign/results/webhits/{campaignId}/{page}/{take}':
    get:
      summary: List all web hits for a given Campaign.
      description: Gets a paged list of campaign web hits.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getAllWebhitsForCampaign
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: campaignId
          in: path
          description: the id of the campaign to retrieve opens for
          required: true
          type: string
        - name: page
          in: path
          type: integer
          required: true
          description: the page to get
          format: int32
        - name: take
          in: path
          type: integer
          required: true
          description: how many campaign web hits to get per page
          format: int32
      responses:
        '200':
          description: List of campaign web hits
          schema:
            $ref: '#/definitions/gatormail_pagedCampaignContactResults'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/campaign/results/unsubscribes/{campaignId}/{startDate}/{endDate}/{page}/{take}':
    get:
      summary: List a campaigns unsubscribes in a date range.
      description: Gets a paged list of a campaigns unsubscribes.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getCampaignUnsubscribesListByDateRange
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: campaignId
          in: path
          description: the id of the campaign to retrieve opens for
          required: true
          type: string
        - name: startDate
          in: path
          description: unix timestamp for when to start getting data
          required: true
          type: string
        - name: endDate
          in: path
          description: unix timestamp for when to stop getting data
          required: true
          type: string
        - name: page
          in: path
          type: integer
          required: true
          description: the page to get
          format: int32
        - name: take
          in: path
          type: integer
          required: true
          description: how many campaign unsubscribes to get per page
          format: int32
      responses:
        '200':
          description: List of campaign unsubscribes
          schema:
            $ref: '#/definitions/gatormail_pagedCampaignContactResults'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/campaign/results/unsubscribes/{startDate}/{endDate}/{page}/{take}':
    get:
      summary: List all campaign unsubscribes in a date range.
      description: Gets a paged list of campaign unsubscribes.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getAllCampaignUnsubscribesListByDateRange
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: startDate
          in: path
          description: unix timestamp for when to start getting data
          required: true
          type: string
        - name: endDate
          in: path
          description: unix timestamp for when to stop getting data
          required: true
          type: string
        - name: page
          in: path
          type: integer
          required: true
          description: the page to get
          format: int32
        - name: take
          in: path
          type: integer
          required: true
          description: how many campaign unsubscribes to get per page
          format: int32
      responses:
        '200':
          description: List of campaign unsubscribes
          schema:
            $ref: '#/definitions/gatormail_pagedCampaignContactResults'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/campaign/results/unsubscribes/{campaignId}/{page}/{take}':
    get:
      summary: List all unsubscribes for a given Campaign.
      description: Gets a paged list of campaign unsubscribes.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getAllUnsubscribesForCampaign
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: campaignId
          in: path
          description: the id of the campaign to retrieve opens for
          required: true
          type: string
        - name: page
          in: path
          type: integer
          required: true
          description: the page to get
          format: int32
        - name: take
          in: path
          type: integer
          required: true
          description: how many campaign unsubscribes to get per page
          format: int32
      responses:
        '200':
          description: List of campaign unsubscribes
          schema:
            $ref: '#/definitions/gatormail_pagedCampaignContactResults'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/campaign/results/undeliverables/{campaignId}/{startDate}/{endDate}/{page}/{take}':
    get:
      summary: List a campaigns undeliverables in a date range.
      description: Gets a paged list of a campaigns undeliverables.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getCampaignUndeliverablesListByDateRange
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: campaignId
          in: path
          description: the id of the campaign to retrieve opens for
          required: true
          type: string
        - name: startDate
          in: path
          description: unix timestamp for when to start getting data
          required: true
          type: string
        - name: endDate
          in: path
          description: unix timestamp for when to stop getting data
          required: true
          type: string
        - name: page
          in: path
          type: integer
          required: true
          description: the page to get
          format: int32
        - name: take
          in: path
          type: integer
          required: true
          description: how many campaign undeliverables to get per page
          format: int32
      responses:
        '200':
          description: List of campaign undeliverables
          schema:
            $ref: '#/definitions/gatormail_pagedCampaignContactResults'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/campaign/results/undeliverables/{startDate}/{endDate}/{page}/{take}':
    get:
      summary: List all campaign undeliverables in a date range.
      description: Gets a paged list of campaign undeliverables.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getAllCampaignUndeliverablesListByDateRange
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: startDate
          in: path
          description: unix timestamp for when to start getting data
          required: true
          type: string
        - name: endDate
          in: path
          description: unix timestamp for when to stop getting data
          required: true
          type: string
        - name: page
          in: path
          type: integer
          required: true
          description: the page to get
          format: int32
        - name: take
          in: path
          type: integer
          required: true
          description: how many campaign undeliverables to get per page
          format: int32
      responses:
        '200':
          description: List of campaign undeliverables
          schema:
            $ref: '#/definitions/gatormail_pagedCampaignContactResults'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/campaign/results/undeliverables/{campaignId}/{page}/{take}':
    get:
      summary: List all undeliverables for a given Campaign.
      description: Gets a paged list of campaign undeliverables.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getAllUndeliverablesForCampaign
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: campaignId
          in: path
          description: the id of the campaign to retrieve opens for
          required: true
          type: string
        - name: page
          in: path
          type: integer
          required: true
          description: the page to get
          format: int32
        - name: take
          in: path
          type: integer
          required: true
          description: how many campaign undeliverables to get per page
          format: int32
      responses:
        '200':
          description: List of campaign undeliverables
          schema:
            $ref: '#/definitions/gatormail_pagedCampaignContactResults'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/history/{campaignId}/bounces/{page}/{take}?orderBy&orderDirection':
    get:
      summary: List all campaign bounces
      description: Gets a paged list of campaign bounces.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getCampaignBounceList
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: campaignId
          in: path
          description: the id of the campaign to retrieve bounces for
          required: true
          type: string
        - name: page
          in: path
          type: integer
          required: true
          description: the page to get
          format: int32
        - name: take
          in: path
          type: integer
          required: true
          description: how many campaign bounces to get per page
          format: int32
        - name: orderBy
          in: query
          type: string
          required: false
          description: 'an attribute to order the results by (defaults to date, but can be any contact attribute)'
          format: string
        - name: orderDirection
          in: query
          type: string
          required: false
          description: the direction to order the results in (asc or desc)
          format: string
      responses:
        '200':
          description: List of campaign bounces
          schema:
            $ref: '#/definitions/gatormail_pagedCampaignBounce'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/group/{page}/{take}':
    get:
      summary: Get a list of groups
      description: Get a Paged list of all groups
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getGroups
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: page
          in: path
          description: the page of contacts to retrieve
          required: true
          type: integer
          format: int32
        - name: take
          in: path
          description: the count of records to retrieve
          required: true
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/gatormail_pagedGroup'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/group':
    post:
      summary: Add a new group
      description: Add a new group
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_addGroup
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: group
          in: body
          required: true
          schema:
            $ref: '#/definitions/gatormail_group'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/gatormail_group'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
    patch:
      summary: Update a group
      description: Update a group
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_updateGroup
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: group
          in: body
          required: true
          schema:
            $ref: '#/definitions/gatormail_group'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/gatormail_group'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/group/{groupId}':
    delete:
      summary: Delete a group
      description: Delete a group
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_deleteGroup
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: groupId
          in: path
          description: description
          required: true
          type: integer
          format: int32
      responses:
        '200':
          description: OK
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/group/{groupId}/GroupClearDown':
    post:
      summary: Clear all contacts from a give group by Id
      description: 'Clear all included and excluded contacts from a give group by Id,'
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_GroupClearDownGroupByID
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: groupId
          in: path
          description: description
          required: true
          type: integer
          format: int32
      responses:
        '200':
          description: OK
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/group/GroupClearDown':
    post:
      summary: Clear all contacts from a give group by name
      description: Clear all included and excluded contacts from a give group by name
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_GroupClearDownGroupByName
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: groupName
          in: body
          required: true
          schema:
            $ref: '#/definitions/gatormail_groupGroupClearDownRequest'
      responses:
        '200':
          description: OK
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/group/contact/{contactId}':
    get:
      summary: Get Groups for Contact
      description: Get Groups for Contact
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_contactGroups
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: contactId
          in: path
          description: description
          required: true
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          schema:
            type: array
            items:
              $ref: '#/definitions/gatormail_group'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/group/{groupId}/contacts/included/{page}/{take}?attributes':
    get:
      summary: Gets contacts included in a Group
      description: 'Gets contacts that have been included in a Group via the API or the UI only. Contacts that have been added to the group via group rules, group inclusion and CSV import, will not be returned.'
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_groupIncludedContacts
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: groupId
          in: path
          description: the group for which to retrieve included contacts for
          required: true
          type: integer
          format: int32
        - name: page
          in: path
          description: the page of contacts to retrieve
          required: true
          type: integer
          format: int32
        - name: take
          in: path
          description: the count of records to retrieve
          required: true
          type: integer
          format: int32
        - name: attributes
          in: query
          description: 'comma separated list of attributes to populate in the response. If none provided email, firstname and lastname are populated'
          required: false
          type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/gatormail_pagedContact'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/group/{groupId}/contacts/included':
    post:
      summary: Include a list of contacts to a Group
      description: Add a list of contacts to a Group
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_groupIncludedContactpost
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: groupId
          in: path
          description: the group for which to retrieve included contacts for
          required: true
          type: integer
          format: int32
        - name: group
          in: body
          required: true
          schema:
            $ref: '#/definitions/gatormail_groupContactRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/gatormail_groupContactResponse'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/group/{groupId}/contacts/excluded':
    post:
      summary: Exclude a list of contacts from a Group
      description: Remove a list of contacts from a Group
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_groupExcludedContactpost
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: groupId
          in: path
          description: the group for which to retrieve included contacts for
          required: true
          type: integer
          format: int32
        - name: group
          in: body
          required: true
          schema:
            $ref: '#/definitions/gatormail_groupContactRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/gatormail_groupContactResponse'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/group/{groupId}/contact/{contactId}':
    patch:
      summary: Add contact to a group
      description: Add contact to a group
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_addContactToGroup
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: groupId
          in: path
          description: description
          required: true
          type: integer
          format: int32
        - name: contactId
          in: path
          description: description
          required: true
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          schema:
            type: array
            items:
              $ref: '#/definitions/gatormail_group'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
    delete:
      summary: Remove contact from a group
      description: Remove contact from a group
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_deleteContactFromGroup
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: groupId
          in: path
          description: description
          required: true
          type: integer
          format: int32
        - name: contactId
          in: path
          description: description
          required: true
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          schema:
            type: array
            items:
              $ref: '#/definitions/gatormail_group'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/contact':
    post:
      summary: Add Contact
      description: Create a new contact
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getContactsCreate
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: entity
          in: body
          description: contact to add
          required: true
          schema:
            $ref: '#/definitions/gatormail_contactCreate'
      responses:
        '200':
          description: List of contacts that match the search field and value supplied
          schema:
            $ref: '#/definitions/gatormail_contact'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
    patch:
      summary: Update Contact
      description: Update an existing contact
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getContactsUpdate
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: entity
          in: body
          description: Contact to update
          required: true
          schema:
            $ref: '#/definitions/gatormail_contactUpdate'
      responses:
        '200':
          description: List of contacts that match the search field and value supplied
          schema:
            $ref: '#/definitions/gatormail_contactUpdate'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/contact?email={email}&softDelete={softDelete}':
    delete:
      summary: Delete Contact
      description: Deletes a contact and any duplicates found for the email address passed
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_deleteContact
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: email
          in: path
          description: the email address of the contact to delete
          required: true
          type: string
        - name: softDelete
          in: path
          description: 'if true the contact is marked as deleted and then hard deleted after 30 days (this gives you a chance to change your mind if required). if false, the contact is deleted from the database (this conforms with a ''Right to be forgotten'' GDPR request).'
          required: true
          type: boolean
      responses:
        '200':
          description: Ok
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/contact/bulkdelete':
    post:
      summary: Bulk Delete Contact
      description: Bulk deletes one or more contacts and any duplicates found for the email address passed
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_bulkDeleteContact
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: Bulk delete request
          in: body
          description: The contact email addresses to bulk delete and whether to soft or hard delete the contacts
          required: true
          schema:
            $ref: '#/definitions/gatormail_bulkDeleteContactsRequest'
      responses:
        '200':
          description: Ok
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/contact/{email}':
    get:
      summary: Get contacts by email
      description: Gets List of `Email` objects with the supplied email address
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getContactsEmail
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: email
          in: path
          type: string
          required: true
          description: the email address for the contacts
      responses:
        '200':
          description: List of contacts that match the email address supplied
          schema:
            $ref: '#/definitions/gatormail_contact'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/contact/search/{page}/{take}':
    post:
      summary: Get contacts by search field
      description: Get a list of contact that match the search field and value supplied
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getContactsSearch
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: page
          in: path
          type: integer
          required: true
          description: the page to get
          format: int32
        - name: take
          in: path
          type: integer
          required: true
          description: how many contact to return per page
          format: int32
        - name: entity
          in: body
          description: 'The field and its value that you wish to search by. Now supports an optional operator enabling enhanced filtering. Operators ("=", "<>", ">", "<", ">=", "<=", "null", "not null", "like", "not like"). For "like" and "not like" use "%" for wild card searches.'
          required: true
          schema:
            $ref: '#/definitions/gatormail_groupContactsParam'
      responses:
        '200':
          description: List of contacts that match the email address supplied
          schema:
            $ref: '#/definitions/gatormail_pagedContact'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/contact/triggercampaign':
    post:
      summary: 'Add/Update Contacts list, trigger Campaign'
      description: Add/Update a list of contact then trigger a campaign to send to them the campaign must be initiated.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_postTriggerCampaign
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: Campaign Contacts
          in: body
          description: Campaign information and list of contacts
          required: true
          schema:
            $ref: '#/definitions/gatormail_campaignContacts'
      responses:
        '200':
          description: Ok
          schema:
            $ref: '#/definitions/gatormail_campaignTrigger'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/contact/attribute/{page}/{take}':
    get:
      summary: Get contact attributes
      description: Geta a paged list of attributes
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getContactAttributes
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: page
          in: path
          type: integer
          required: true
          description: the page to get
          format: int32
        - name: take
          in: path
          type: integer
          required: true
          description: how many attributes to return per page
          format: int32
      responses:
        '200':
          description: Ok
          schema:
            $ref: '#/definitions/gatormail_pagedContactAttribute'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/contact/attribute':
    post:
      summary: Add new contact attributes
      description: Add new contact attributes
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_postContactAttributes
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: attribute
          in: body
          description: the attribute to be added
          required: true
          schema:
            $ref: '#/definitions/gatormail_uploadContactAttribute'
      responses:
        '200':
          description: Ok
          schema:
            $ref: '#/definitions/gatormail_uploadContactAttribute'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/contact/export?email={email}':
    get:
      summary: Contact Export
      description: Exports contact data (conforms to the GDPR subject access request).
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_contactExport
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: email
          in: path
          type: string
          required: true
          description: the contacts email address
      responses:
        '200':
          description: Ok
          schema:
            $ref: '#/definitions/gatormail_contactExport'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/email/{page}/{take}':
    get:
      summary: Get emails
      description: Get a paged list of emails
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getEmailList
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: page
          in: path
          type: integer
          required: true
          description: the page to get
          format: int32
        - name: take
          in: path
          type: integer
          required: true
          description: how many Emails to return per page
          format: int32
      responses:
        '200':
          description: Ok
          schema:
            $ref: '#/definitions/gatormail_pagedEmails'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/email/filter/{page}/{take}':
    get:
      summary: Get emails by filter
      description: Get a paged list of emails
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getEmailFilterList
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: page
          in: path
          type: integer
          required: true
          description: the page to get
          format: int32
        - name: take
          in: path
          type: integer
          required: true
          description: how many Emails to return per page
          format: int32
        - name: entity
          in: body
          description: 'The field and its value that you wish to search by. Now supports an optional operator enabling enhanced filtering. Operators are enmun value <br> equals = 0, <br> greater than = 1, <br> less then = 2, <br> contains = 3,<br> ends with = 4, <br> starts with = 5'
          required: true
          schema:
            $ref: '#/definitions/gatormail_EmailFilterParam'
      responses:
        '200':
          description: Ok
          schema:
            $ref: '#/definitions/gatormail_pagedEmails'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/integration/requests':
    get:
      summary: Get Integration Requests
      description: Returns all requests made by GatorMail users for actions it wishes the integration to perform
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getIntegrationRequests
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
      responses:
        '200':
          description: Returns all requests made by GatorMail users for actions it wishes the integration to perform
          schema:
            type: array
            items:
              $ref: '#/definitions/gatormail_integrationRequests'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/integration/requests/{request}':
    patch:
      summary: Marks a request satisfied.
      description: Marks a request made by a GatorMail user as satisfied.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getIntegrationRequestSatisfied
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: request
          in: path
          description: the request to mark satisfied
          required: true
          type: string
          enum:
            - schemamappingsMappingsPublished
            - schemamappingsRequested
      responses:
        '200':
          description: Ok
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/schemamappings':
    get:
      summary: Returns the user generated schema mappings.
      description: 'Returns the user generated schema mappings. Support is provided though the use of the linkedEntity, entityLinkAttribute, linkedEntityLinkAttribute columns to define a one to one relationship between two entities (e.g contact -> account to retrieve an account name).'
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getSchema
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
      responses:
        '200':
          description: Ok
          schema:
            type: array
            items:
              $ref: '#/definitions/gatormail_schema'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
    delete:
      summary: Clears all schema entities and attributes.
      description: Clears all schema entities and attributes.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_deleteSchema
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
      responses:
        '200':
          description: Ok
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/schemamappings/entity':
    post:
      summary: Creates a schema entity record.
      description: Creates a schema entity record.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_postSchemaEntity
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: entity
          in: body
          description: the schema entity to add
          required: true
          schema:
            $ref: '#/definitions/gatormail_schemaEntity'
      responses:
        '200':
          description: Ok
        '409':
          description: Schema Entity Attribute already exists
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/schemamappings/attribute':
    patch:
      summary: Creates a schema entity attribute record.
      description: Creates a schema entity attribute record.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_postSchemaAttribute
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: attribute
          in: body
          description: the schema attribute to add
          required: true
          schema:
            $ref: '#/definitions/gatormail_schemaAttribute'
      responses:
        '200':
          description: Ok
        '404':
          description: Schema Entity does not exist
        '409':
          description: Schema Entity Attribute already exists
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/datafeed':
    get:
      summary: Returns a batch of data feed records.
      description: Returns a batch of data feed records.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getDatafeed
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
      responses:
        '200':
          description: Returns data feed configuration options.
          schema:
            $ref: '#/definitions/gatormail_datafeed'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/datafeed/{batchIdentifier}':
    patch:
      summary: Marks a feed as processed.
      description: Marks a feed as processed.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getDatafeedBatchIdentifier
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: batchIdentifier
          in: path
          description: the batchIdentifier of the feed
          required: true
          type: string
      responses:
        '200':
          description: Ok
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/datafeed/options':
    get:
      summary: Gets the data feed configuration options.
      description: Gets the data feed configuration options.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getDatafeedOptions
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
      responses:
        '200':
          description: Returns data feed configuration options.
          schema:
            $ref: '#/definitions/gatormail_datafeedOptions'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
    post:
      summary: Sets the data feed configuration options.
      description: Sets the data feed configuration options.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_postDatafeedOptions
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: options
          in: body
          description: The data feed options to set
          required: true
          schema:
            $ref: '#/definitions/gatormail_datafeedOptions'
      responses:
        '200':
          description: Returns data feed configuration options.
          schema:
            $ref: '#/definitions/gatormail_datafeedOptions'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/events/{eventId}':
    get:
      summary: Gets event for the given id.
      description: Gets event for the given id.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getEventById
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: eventId
          in: path
          description: the id of the event
          required: true
          type: integer
          format: int64
      responses:
        '200':
          description: Returns the requested event
          schema:
            $ref: '#/definitions/gatormail_event'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/events/{page}/{take}':
    get:
      summary: Get all events
      description: Gets all the events
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getEventPaged
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: page
          in: path
          description: the page to retrive
          required: true
          type: integer
          format: int64
        - name: take
          in: path
          description: how many events to retrive per page
          required: true
          type: integer
          format: int64
      responses:
        '200':
          description: Returns the requested event
          schema:
            $ref: '#/definitions/gatormail_pagedEvent'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/confirmationoptinaudit/getall':
    get:
      summary: Get all confirmation opt in audit records
      description: Get all the confirmation opt in audit records
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getAllConfirmationOptInAudits
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
      responses:
        '200':
          description: Returns the requested event
          schema:
            $ref: '#/definitions/gatormail_confirmationOptInAuditRecords'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/confirmationoptinaudit/getbyid/{confirmationOptInId}':
    get:
      summary: Get confirmation opt in audit records by Confirmation Opt In Id
      description: Get confirmation opt in audit records by Confirmation Opt In Id
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getConfirmationOptInAuditsById
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: confirmationOptInId
          in: path
          description: the confirmation opt in id
          required: true
          type: string
      responses:
        '200':
          description: Returns the requested event
          schema:
            $ref: '#/definitions/gatormail_confirmationOptInAuditRecords'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/confirmationoptinaudit/getbycontactid/{contactId}':
    get:
      summary: Get confirmation opt in audit records by Contact Id
      description: Get confirmation opt in audit records by Contact Id
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getConfirmationOptInAuditsByContactId
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: contactId
          in: path
          description: the contact id
          required: true
          type: string
      responses:
        '200':
          description: Returns the requested event
          schema:
            $ref: '#/definitions/gatormail_confirmationOptInAuditRecords'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/confirmationoptinaudit/getbyemailaddress/{emailAddress}':
    get:
      summary: Get confirmation opt in audit records by Email Address
      description: Get confirmation opt in audit records by Email Address
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getConfirmationOptInAuditsByEmailAddress
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: emailAddress
          in: path
          description: the email address of the contact
          required: true
          type: string
      responses:
        '200':
          description: Returns the requested event
          schema:
            $ref: '#/definitions/gatormail_confirmationOptInAuditRecords'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/confirmationoptinaudit/getsincelastrun':
    get:
      summary: Get confirmation opt in audit records since the last time this method was called
      description: Get confirmation opt in audit records since the last time this method was called
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getConfirmationOptInAuditsSinceLastRun
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
      responses:
        '200':
          description: Returns the requested event
          schema:
            $ref: '#/definitions/gatormail_confirmationOptInAuditRecords'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/confirmationoptinaudit/resetLastRun':
    post:
      summary: Reset confirmationoptinaudit/getsincelastrun to return from a given date
      description: Reset confirmationoptinaudit/getsincelastrun to return from a given date
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_postConfirmationOptInAuditsSinceLastRunReset
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: resetDate
          in: body
          required: true
          schema:
            $ref: '#/definitions/gatormail_resetDate'
      responses:
        '200':
          description: Returns the requested event
          schema:
            $ref: '#/definitions/gatormail_confirmationOptInAuditRecords'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_resetDate'
  '/mail/{landingZone}/events':
    post:
      summary: Creates an event management event
      description: 'Creates an event management event, associating it with an event entity in the CRM.'
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_postEvent
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: event
          in: body
          required: true
          schema:
            $ref: '#/definitions/gatormail_event'
      responses:
        '200':
          description: Returns the created event.
          schema:
            $ref: '#/definitions/gatormail_event'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/log/error':
    post:
      summary: Creates error record
      description: Creates an record in the integration error table or updates if a matching error already exists.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_postLogError
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: log
          in: body
          required: true
          schema:
            $ref: '#/definitions/gatormail_errorLog'
      responses:
        '200':
          description: Ok
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/contact/triggerconfirmationoptin/{confirmationOptInId}/{externalFormId}':
    post:
      summary: 'Add/Update Contacts list, trigger Confirmation Opt In'
      description: Add/Update a list of contact then trigger a confirmation opt in email if the contact has not confirmed opted in.
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_postTriggerConfirmationOptIn
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: confirmationOptInId
          in: path
          description: the confirmation opt in id used
          required: true
          type: integer
        - name: externalFormId
          in: path
          description: external form id.  Helps to itentify for your audit records.  Set as 0 if not used
          required: true
          type: integer
        - name: Confirmation Opt In Contacts
          in: body
          description: List of contacts
          required: true
          schema:
            $ref: '#/definitions/gatormail_confirmationOptInContacts'
      responses:
        '200':
          description: Ok
          schema:
            $ref: '#/definitions/gatormail_confirmationOptInTrigger'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/unsubscribes/getAllUnsubscribes':
    post:
      summary: Get A list of all avalible unsubscribes
      description: Get a list of all avalible unsubscribes
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_unsubscribes_getAllUnsubscribes
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
      responses:
        '200':
          description: Ok
          schema:
            $ref: '#/definitions/gatormail_UnsubscribesList'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  '/mail/{landingZone}/survey/responses/{surveyId}/{fromDate}/{toDate}/{page}/{take}':
    get:
      summary: Get Survey Responses
      description: Get survey responses for a specific survey between two dates
      security:
        - client_application:
            - openid
            - GatorMailApi
            - offline_access
      operationId: gatormail_getSurveyResponses
      tags:
        - Gator Mail
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: landingZone
          in: path
          description: the landing zone that is being accessed
          required: true
          type: string
        - name: surveyId
          in: path
          description: The identifier of the survey to retrieve results for
          required: true
          type: integer
          format: int32
        - name: fromDate
          in: path
          type: integer
          required: true
          description: Unix timestamp of the from date
          format: int32
        - name: toDate
          in: path
          type: integer
          required: true
          description: Unix timestamp of the to date
          format: int32
        - name: page
          in: path
          type: integer
          required: true
          description: the page to get
          format: int32
        - name: take
          in: path
          type: integer
          required: true
          description: how many survey responses to get per page
          format: int32
      responses:
        '200':
          description: The survey responses
          schema:
            $ref: '#/definitions/gatormail_pagedSurveyResponse'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/gatormail_errorModel'
  /leads/clients:
    get:
      summary: Gets your client accounts
      description: Gets your client accounts
      security:
        - client_application:
            - openid
            - GatorLeadsApi
            - offline_access
      operationId: gatorlead_userclients
      tags:
        - Gator Leads
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
      responses:
        '200':
          description: Returns a list of clients
          schema:
            type: array
            items:
              $ref: '#/definitions/gatorleads_userclient'
  '/leads/clients/{clientId}':
    get:
      summary: Gets the client using the supplied Client Id
      description: Gets the client using the supplied Client Id
      security:
        - client_application:
            - openid
            - GatorLeadsApi
            - offline_access
      operationId: gatorlead_userclient
      tags:
        - Gator Leads
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: clientId
          in: path
          type: string
          required: true
          description: the id of the client. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
      responses:
        '200':
          description: Returns the client
          schema:
            $ref: '#/definitions/gatorleads_client'
  '/leads/client/{clientId}/leads/types':
    get:
      summary: Get Count Of Lead Types
      description: Returns count of all the lead types
      security:
        - client_application:
            - openid
            - GatorLeadsApi
            - offline_access
      operationId: gatorlead_leadtypes
      tags:
        - Gator Leads
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: clientId
          in: path
          type: string
          required: true
          description: the id of the client. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
      responses:
        '200':
          description: Returns lead type counts
          schema:
            $ref: '#/definitions/gatorleads_leadtypes'
  '/leads/client/{clientId}/company/{leadid}':
    get:
      summary: Get lead company
      description: Returns the company details about a lead
      security:
        - client_application:
            - openid
            - GatorLeadsApi
            - offline_access
      operationId: gatorlead_lead_company
      tags:
        - Gator Leads
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: clientId
          in: path
          type: string
          required: true
          description: the id of the client. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
        - name: leadid
          in: path
          type: string
          required: true
          description: this id of the lead. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
      responses:
        '200':
          description: Returns the requested leads company details
          schema:
            $ref: '#/definitions/gatorleads_company'
  '/leads/client/{clientId}/latestleads/{minutes}/{numberToGet}':
    get:
      summary: Get The Leads for last x Minutes
      description: 'Returns all leads from the last x minutes (max: 60)'
      security:
        - client_application:
            - openid
            - GatorLeadsApi
            - offline_access
      operationId: gatorlead_latestleads
      tags:
        - Gator Leads
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: clientId
          in: path
          type: string
          required: true
          description: the id of the client. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
        - name: minutes
          in: path
          type: integer
          format: int64
          required: true
          description: number of minutes
        - name: numberToGet
          in: path
          type: integer
          format: int64
          required: true
          description: how many to get
      responses:
        '200':
          description: Returns list of leads
          schema:
            $ref: '#/definitions/gatorleads_leads'
  '/leads/client/{clientId}/leads/{type}/{startDate}/{endDate}/{page}/{take}':
    get:
      summary: Get Leads of specified type for the date range
      description: Gets a pages list of leads for specified date range and type
      security:
        - client_application:
            - openid
            - GatorLeadsApi
            - offline_access
      operationId: gatorlead_pagedLead_daterange
      tags:
        - Gator Leads
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: clientId
          in: path
          type: string
          required: true
          description: the id of the client. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
        - name: type
          in: path
          type: string
          required: true
          description: type of lead
        - name: startDate
          in: path
          type: string
          required: true
          pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
          description: start date
        - name: endDate
          in: path
          type: string
          required: true
          description: end date
          pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
        - name: page
          in: path
          description: the page to get
          required: true
          type: integer
        - name: take
          in: path
          description: the number of results to get
          required: true
          type: integer
      responses:
        '200':
          description: Returns paged list of leads
          schema:
            $ref: '#/definitions/gatorleads_pagedLead'
  '/leads/client/{clientId}/leads/{type}/search/{startDate}/{endDate}/{page}/{take}':
    post:
      summary: Get Leads of specified type for the date range
      description: Gets a pages list of leads for specified date range and type
      security:
        - client_application:
            - openid
            - GatorLeadsApi
            - offline_access
      operationId: gatorlead_pagedLead_daterange_search
      tags:
        - Gator Leads
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: clientId
          in: path
          type: string
          required: true
          description: the id of the client. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
        - name: type
          in: path
          type: string
          required: true
          description: type of lead
        - name: startDate
          in: path
          type: string
          required: true
          pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
          description: start date
        - name: endDate
          in: path
          type: string
          required: true
          description: end date
          pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
        - name: page
          in: path
          description: the page to get
          required: true
          type: integer
          format: int64
        - name: take
          in: path
          description: the number of results to get
          required: true
          type: integer
          format: int64
        - name: search
          in: body
          schema:
            $ref: '#/definitions/gatorleads_leadSearch'
      responses:
        '200':
          description: Returns paged list of leads
          schema:
            $ref: '#/definitions/gatorleads_pagedLead'
  '/leads/client/{clientId}/leads/search/{types}/{page}/{take}':
    post:
      summary: Get Leads of specified type for the date range
      description: Gets a pages list of leads for specified date range and type
      security:
        - client_application:
            - openid
            - GatorLeadsApi
            - offline_access
      operationId: gatorlead_pagedLead_types_daterange_search
      tags:
        - Gator Leads
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: clientId
          in: path
          type: string
          required: true
          description: the id of the client. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
        - name: types
          in: path
          type: string
          required: true
          description: comma separated list of lead types to return
        - name: startDate
          in: query
          type: string
          required: true
          pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
          description: start date
        - name: endDate
          in: query
          type: string
          required: true
          description: end date
          pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
        - name: page
          in: path
          description: the page to get
          required: true
          type: integer
          format: int64
        - name: take
          in: path
          description: the number of results to get
          required: true
          type: integer
          format: int64
        - name: search
          in: body
          schema:
            $ref: '#/definitions/gatorleads_leadSearch'
      responses:
        '200':
          description: Returns paged list of leads
          schema:
            $ref: '#/definitions/gatorleads_pagedLead'
  '/leads/client/{clientId}/lead/{leadId}':
    get:
      summary: Get Leads of specified type for the date range
      description: Gets a pages list of leads for specified date range and type
      security:
        - client_application:
            - openid
            - GatorLeadsApi
            - offline_access
      operationId: gatorlead_lead
      tags:
        - Gator Leads
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: clientId
          in: path
          type: string
          required: true
          description: the id of the client. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
        - name: leadId
          in: path
          type: string
          required: true
          description: the id of the lead to return. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
      responses:
        '200':
          description: Returns paged list of leads
          schema:
            $ref: '#/definitions/gatorleads_lead'
  '/leads/client/{clientId}/purl/create':
    post:
      summary: Creates a PURL for the supplied client
      description: Creates a PURL for the supplied client
      security:
        - client_application:
            - openid
            - GatorLeadsApi
            - offline_access
      operationId: gatorlead_createpurl
      tags:
        - Gator Leads
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: clientId
          in: path
          type: string
          required: true
          description: the id of the client. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
      responses:
        '200':
          description: Returns the purl
          schema:
            $ref: '#/definitions/gatorleads_purl'
  '/leads/client/{clientId}/trackedlinks/{take}':
    get:
      summary: Get tracked links from the queue
      description: Get tracked links from the queue
      security:
        - client_application:
            - openid
            - GatorLeadsApi
            - offline_access
      operationId: gatorlead_trackedlinkList
      tags:
        - Gator Leads
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: clientId
          in: path
          type: string
          required: true
          description: the id of the client. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
        - name: take
          in: path
          type: integer
          format: int64
          required: true
          description: number of tracked links to take
      responses:
        '200':
          description: Returns list of tracked links
          schema:
            $ref: '#/definitions/gatorleads_queuedlinkList'
  '/leads/client/{clientId}/analytics/contactsdailyconnections?startDate={startDate}':
    get:
      summary: Get a daily list that counts the unique number of contacts that connected to the given client
      description: Get a daily list that counts the unique number of contacts that connected to the given client
      security:
        - client_application:
            - openid
            - GatorLeadsApi
            - offline_access
      operationId: gatorlead_contactsDailyConnections
      tags:
        - Gator Leads
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: clientId
          in: path
          type: string
          required: true
          description: the id of the client. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
        - name: startDate
          in: path
          type: string
          required: true
          pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
          description: start date
      responses:
        '200':
          description: Returns a list of daily connections for distinct contacts
          schema:
            type: array
            items:
              $ref: '#/definitions/gatorleads_contactsdailyconnections'
  '/leads/client/{clientId}/analytics/companydailyconnections?startDate={startDate}':
    get:
      summary: Get a daily list that counts the unique number of companies that connected to the given client
      description: Get a daily list that counts the unique number of companies that connected to the given client
      security:
        - client_application:
            - openid
            - GatorLeadsApi
            - offline_access
      operationId: gatorlead_companyDailyConnections
      tags:
        - Gator Leads
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: clientId
          in: path
          type: string
          required: true
          description: the id of the client. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
        - name: startDate
          in: path
          type: string
          required: true
          pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
          description: start date
      responses:
        '200':
          description: Returns a list of daily connections for distinct companies
          schema:
            type: array
            items:
              $ref: '#/definitions/gatorleads_companydailyconnections'
  '/leads/client/{clientId}/trackedlinks/markprocessed/{processId}':
    get:
      summary: Marks tracked links previously retrieved as processed
      description: Marks tracked links previously retrieved as processed
      security:
        - client_application:
            - openid
            - GatorLeadsApi
            - offline_access
      operationId: gatorlead_markTrackedLinksProcessed
      tags:
        - Gator Leads
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: clientId
          in: path
          type: string
          required: true
          description: the id of the client. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
        - name: processId
          in: path
          type: string
          required: true
          description: 'the process id returned from a call to "client/{clientId}/trackedlinks/{take}"". **This is a GUID**'
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
      responses:
        '200':
          description: Returns a boolean value indicating the success status
          schema:
            type: boolean
  /leads/settings/leadtypes:
    get:
      summary: Gets the lead types
      description: Gets the lead types
      security:
        - client_application:
            - openid
            - GatorLeadsApi
            - offline_access
      operationId: gatorlead_leadTypes
      tags:
        - Gator Leads
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
      responses:
        '200':
          description: Returns an array of lead types
          schema:
            type: array
            items:
              type: string
  '/leads/settings/leadtypenames/{clientId}':
    get:
      summary: Gets the lead type names and their visibility status
      description: Gets the lead type names and their visibility status
      security:
        - client_application:
            - openid
            - GatorLeadsApi
            - offline_access
      operationId: gatorlead_leadTypeNames
      tags:
        - Gator Leads
      parameters:
        - name: api-version
          in: header
          description: the api version being requested
          required: true
          type: integer
        - name: clientId
          in: path
          type: string
          required: true
          description: the id of the client. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
      responses:
        '200':
          description: Returns the type names as an object
          schema:
            $ref: '#/definitions/gatorleads_leadTypeNames'
  /survey/account:
    get:
      summary: Gets a list of accounts the Authenticated User has access too.
      description: Gets a list of accounts the Authenticated User has access too.
      security:
        - client_application:
            - openid
            - GatorSurveyApi
            - offline_access
      operationId: gatorSurvey_accounts
      tags:
        - Gator Survey
      responses:
        '200':
          description: Returns a list of accounts for user
          schema:
            type: array
            items:
              $ref: '#/definitions/gatorSurvey_account'
  '/survey/{AccountId}/Surveylist':
    get:
      summary: Get a list of Surveys for account
      description: 'a paged list of surveys,'
      security:
        - client_application:
            - openid
            - GatorSurveyApi
            - offline_access
      operationId: gatorSurvey_surveylist
      tags:
        - Gator Survey
      parameters:
        - name: AccountId
          in: path
          type: string
          required: true
          description: the id of the account. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
        - name: page
          in: query
          type: integer
          minimum: 1
          description: The number of items to skip before starting to collect the result set
        - name: take
          in: query
          type: integer
          minimum: 1
          maximum: 100
          description: The numbers of items to return
      responses:
        '200':
          description: Returns a paging object that shows a list of Survey
          schema:
            $ref: '#/definitions/gatorSurvey_PageSurveyItemLists'
  '/survey/{AccountId}/results/{SurveyId}':
    get:
      summary: Get Survey Results (All Versions)
      description: 'Gets a list of all version of the requested survey id and returns a list of all versions and responses made per version, addtion option can be passed to get the responses result answers as well.'
      security:
        - client_application:
            - openid
            - GatorSurveyApi
            - offline_access
      operationId: gatorSurvey_results
      tags:
        - Gator Survey
      parameters:
        - name: AccountId
          in: path
          type: string
          required: true
          description: the id of the account. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
        - name: SurveyId
          in: path
          type: string
          required: true
          description: the id of the survey you want results for. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
        - name: page
          in: query
          type: integer
          minimum: 1
          description: The number of survey versions to skip before starting to collect the result set.
        - name: take
          in: query
          type: integer
          minimum: 1
          maximum: 100
          description: The numbers of survey versions to return.
        - name: responsePage
          in: query
          type: integer
          minimum: 1
          description: The number of survey responses per version to skip before starting to collect the result set.
        - name: responseTake
          in: query
          type: integer
          minimum: 1
          maximum: 100
          description: The numbers of survey responses per version to return.
        - name: includeResults
          in: query
          type: boolean
          description: Include or exclude survey results answers.
        - name: includeTrackinfo
          in: query
          type: boolean
          description: Include or exclude GatorMail traking Data. (Useful to get contacts CRM id or the GatorMail CampaignId).
        - name: completedOnly
          in: query
          type: boolean
          description: Include or exclude in complete surveys responses.
      responses:
        '200':
          description: Returns a paging object that shows a list Survey Results
          schema:
            $ref: '#/definitions/gatorSurvey_PageBasicSurveyReponceListResults'
  '/survey/{AccountId}/results/{SurveyId}/{VerionNumber}':
    get:
      summary: Get Survey Results (at versions)
      description: 'Gets a list of all version of the requested survey id and returns a list of a single versions and responses made to that version, addtion option can be passed to get the responses result answers as well.'
      security:
        - client_application:
            - openid
            - GatorSurveyApi
            - offline_access
      operationId: gatorSurvey_resultsAtVersion
      tags:
        - Gator Survey
      parameters:
        - name: AccountId
          in: path
          type: string
          required: true
          description: the id of the account. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
        - name: SurveyId
          in: path
          type: string
          required: true
          description: the id of the survey you want results for. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
        - name: VerionNumber
          in: path
          type: integer
          format: Int32
          required: true
          description: The publish version number of the survey
        - name: page
          in: query
          type: integer
          minimum: 1
          description: The number of survey versions to skip before starting to collect the result set.
        - name: take
          in: query
          type: integer
          minimum: 1
          maximum: 100
          description: The numbers of survey versions to return.
        - name: responsePage
          in: query
          type: integer
          minimum: 1
          description: The number of survey responses per version to skip before starting to collect the result set.
        - name: responseTake
          in: query
          type: integer
          minimum: 1
          maximum: 100
          description: The numbers of survey responses per version to return.
        - name: includeResults
          in: query
          type: boolean
          description: Include or exclude survey results answers.
        - name: includeTrackinfo
          in: query
          type: boolean
          description: Include or exclude GatorMail traking Data. (Useful to get contacts CRM id or the GatorMail CampaignId).
        - name: completedOnly
          in: query
          type: boolean
          description: Include or exclude in complete surveys responses.
      responses:
        '200':
          description: Returns a survey version and the responses attached to that survey version
          schema:
            $ref: '#/definitions/gatorSurvey_BasicSurveyReponceResults'
  '/survey/{AccountId}/reponses/{ResponseId}':
    get:
      summary: Get Results for Response
      description: Get a list of results answers for a responses.
      security:
        - client_application:
            - openid
            - GatorSurveyApi
            - offline_access
      operationId: gatorSurvey_ReponsesResult
      tags:
        - Gator Survey
      parameters:
        - name: AccountId
          in: path
          type: string
          required: true
          description: the id of the account id. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
        - name: ResponseId
          in: path
          type: string
          required: true
          description: the id of the response id. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
      responses:
        '200':
          description: returns list of results answers for a responses
          schema:
            type: array
            items:
              $ref: '#/definitions/gatorSurvey_UserResponses'
  '/survey/{AccountId}/reponses/inRange/{StartDate}':
    get:
      summary: Get response made in a from or between a given date.
      description: Get response made in a from or between a given date for all surveys.
      security:
        - client_application:
            - openid
            - GatorSurveyApi
            - offline_access
      operationId: gatorSurvey_ReponsesinRange
      tags:
        - Gator Survey
      parameters:
        - name: AccountId
          in: path
          type: string
          required: true
          description: the id of the account. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
        - name: StartDate
          in: path
          type: integer
          format: double
          required: true
          description: Unix datetime of when to start collecting responses for all surveys.
        - name: endDate
          in: query
          type: integer
          format: double
          description: Unix datetime of when to stop collecting responses for all surveys.
        - name: page
          in: query
          type: integer
          minimum: 1
          description: The number of responses to skip before starting to collect the result set.
        - name: take
          in: query
          type: integer
          minimum: 1
          maximum: 100
          description: The numbers of responses to return.
      responses:
        '200':
          description: Returns a list of paged object that shows a list of reponses from the given date
          schema:
            $ref: '#/definitions/gatorSurvey_BasicSurveyReponceResults'
  '/survey/{AccountId}/reponses':
    get:
      summary: Get response since last called.
      description: Gets a list responses for all surveys since this method was lasts called.
      security:
        - client_application:
            - openid
            - GatorSurveyApi
            - offline_access
      operationId: gatorSurvey_Reponses
      tags:
        - Gator Survey
      parameters:
        - name: AccountId
          in: path
          type: string
          required: true
          description: the id of the account. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
      responses:
        '200':
          description: Returns a list responses for all surveys
          schema:
            type: array
            items:
              $ref: '#/definitions/gatorSurvey_BasicResponseResults'
  '/survey/{AccountId}/reponses/Reset':
    post:
      summary: Reset response since last called.
      description: Reset to null allowing users to get data from the very begin
      security:
        - client_application:
            - openid
            - GatorSurveyApi
            - offline_access
      operationId: gatorSurvey_ReponsesReset
      tags:
        - Gator Survey
      parameters:
        - name: AccountId
          in: path
          type: string
          required: true
          description: the id of the account. **This is a GUID**
          pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
      responses:
        '200':
          description: Empty response on scussess
definitions:
  model_error:
    type: object
    properties:
      message:
        type: string
        description: error message. (normally "The request is invalid.")
      modelState:
        type: array
        items:
          $ref: '#/definitions/model_errorState'
    example:
      message: The request is invalid.
      modelState:
        products.gatorLeads.Email:
          - The Email field is not a valid e-mail address.
        email:
          - 'Unfortunately, you cannot register with this domain. Error checking domain. Please make sure you use your corporate email address. If you need further assistance please contact a support representative.'
  model_errorState:
    required:
      - default
    properties:
      default:
        type: string
      additionalProperties:
        type: array
        items:
          type: string
  gatorsignon_CreateAccount:
    type: object
    required:
      - firstName
      - lastName
      - email
      - companyName
      - contactNumber
      - products
    properties:
      firstName:
        type: string
        description: Forename of the user to add
      lastName:
        type: string
        description: Surname of the user to add
      email:
        type: string
        format: email
        description: Email Address of the user to add (this is the same as the login username). **Can't be a free email provider and domain must exist with MX records**
      companyName:
        type: string
        description: The name of the company that the user belongs too. This is used to group users into the same company
      contactNumber:
        type: string
        description: The contact number for the user
      sendEmail:
        type: boolean
        description: 'Should any emails be sent to the user on creation. *e.g. activation emails, registraction emails*'
      activate:
        type: boolean
        description: Should the user account be activated
      products:
        $ref: '#/definitions/gatorsignon_products'
    example:
      firstName: Joe
      lastName: Blogs
      email: joe.blogs@example.com
      companyName: Example Ltd
      contactNumber: 020 2349455
      activate: true
      products:
        gatorLeads:
          domain: example.com
          registerUpsell:
            trackingQueue: true
  gatorsignon_products:
    type: object
    required:
      - gatorLeads
    description: The products that can be created
    properties:
      gatorLeads:
        $ref: '#/definitions/gatorsignon_gatorLeads'
  gatorsignon_gatorLeads:
    type: object
    required:
      - domain
      - registerUpsell
    description: The GatorLead details
    properties:
      domain:
        type: string
        description: The domain to be tracked without the schema
      registerUpsell:
        $ref: '#/definitions/gatorsignon_registerUpsell'
    example:
      domain: example.com
  gatorsignon_registerUpsell:
    type: object
    properties:
      trackingQueue:
        type: boolean
        description: Should the tracking queue be enabled
    example:
      trackingQueue: true
  gatorsignon_createResponse:
    type: object
    properties:
      isNewUser:
        type: boolean
        description: 'is the user a new user, or existing'
      registrationEmailSent:
        type: boolean
        description: was a registration email sent
      password:
        type: string
        description: the auto generated password. If the user already existed this will be blank
      gatorLeadsDetails:
        $ref: '#/definitions/gatorsignon_gatorLeadsDetails'
    example:
      isNewUser: true
      registrationEmailSent: false
      password: '<bU%=]nViC<BViI'
      gatorLeadsDetails:
        registrationEmailSent: true
        passwordResetSent: false
        isNewUser: true
        clientDetails:
          id: d585c216-af40-437d-8a20-d9ba9004e7f9
          name: Leasoftware Sample (sample3.leasoftware.net)
          accountExpiry: null
          trackingScript: '<script data-cfasync=''false'' type=''text/javascript'' defer='''' async='''' src=''http://test-t.gatorleads.co.uk/Scripts/d585c216-af40-437d-8a20-d9ba9004e7f9.js''></script>'
          trackingScriptSsl: '<script data-cfasync=''false'' type=''text/javascript'' defer='''' async='''' src=''https://test-t.gatorleads.co.uk/Scripts/ssl/d585c216-af40-437d-8a20-d9ba9004e7f9.js''></script>'
          domains:
            - sample3.leasoftware.net
  gatorsignon_gatorLeadsDetails:
    type: object
    properties:
      registrationEmailSent:
        type: boolean
        description: was the GatorLeads registration email sent
      isNewUser:
        type: boolean
        description: 'is this a new GatorLeads user. If it was an existing user, that user will now be linked to Gator Single Signon'
      clientDetails:
        $ref: '#/definitions/gatorsignon_gatorLeadsClient'
  gatorsignon_gatorLeadsClient:
    type: object
    properties:
      id:
        type: string
        description: the id of the client. **This is a GUID**
        pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
      name:
        type: string
        description: name of the client created in GatorLeads
      accountExpiry:
        type: string
      trackingScript:
        type: string
        description: this is the tracking script to use for http
      trackingScriptSsl:
        type: string
        description: this is the tracking script to use for https
      domains:
        type: array
        items:
          type: string
        description: the registered domains for this client
  gatormail_datafeed:
    type: object
    properties:
      emailOpen:
        type: array
        items:
          $ref: '#/definitions/gatormail_emailOpen'
      landingZoneHit:
        type: array
        items:
          $ref: '#/definitions/gatormail_landingZoneHit'
      surveyCompleted:
        type: array
        items:
          $ref: '#/definitions/gatormail_surveyCompleted'
      download:
        type: array
        items:
          $ref: '#/definitions/gatormail_download'
      webHit:
        type: array
        items:
          $ref: '#/definitions/gatormail_webHit'
      unsubscribe:
        type: array
        items:
          $ref: '#/definitions/gatormail_unsubscribe'
      emailSent:
        type: array
        items:
          $ref: '#/definitions/gatormail_emailSent'
      surveyAnswer:
        type: array
        items:
          $ref: '#/definitions/gatormail_surveyAnswer'
      eventBooked:
        type: array
        items:
          $ref: '#/definitions/gatormail_eventBooked'
      eventAttended:
        type: array
        items:
          $ref: '#/definitions/gatormail_eventAttended'
      bounces:
        type: array
        items:
          $ref: '#/definitions/gatormail_bounces'
      sendToAFriend:
        type: array
        items:
          $ref: '#/definitions/gatormail_sendToAFriend'
      eventCancelled:
        type: array
        items:
          $ref: '#/definitions/gatormail_eventCancelled'
      newLead:
        type: array
        items:
          $ref: '#/definitions/gatormail_newLead'
      entityUpdate:
        type: array
        items:
          $ref: '#/definitions/gatormail_entityUpdate'
      campaignStatistics:
        type: array
        items:
          $ref: '#/definitions/gatormail_campaignStatistics'
      batchIdentifier:
        type: array
        items:
          type: string
          description: 'id of the feed pulled, this is a GUID'
  gatormail_emailOpen:
    type: object
    properties:
      createdOn:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      description:
        type: string
      gatorMailContactId:
        format: int32
        type: integer
      entityId:
        type: string
      entityType:
        type: string
      emailAddress:
        type: string
      campaignName:
        type: string
      gatorMailCampaignId:
        type: string
      CRMCampaignId:
        type: string
      url:
        type: string
  gatormail_landingZoneHit:
    type: object
    properties:
      createdOn:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      description:
        type: string
      gatorMailContactId:
        format: int32
        type: integer
      entityId:
        type: string
      entityType:
        type: string
      emailAddress:
        type: string
      campaignName:
        type: string
      gatorMailCampaignId:
        type: string
      cRMCampaignId:
        type: string
      url:
        type: string
  gatormail_surveyCompleted:
    type: object
    properties:
      createdOn:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      description:
        type: string
      gatorMailContactId:
        format: int32
        type: integer
      entityId:
        type: string
      entityType:
        type: string
      emailAddress:
        type: string
      campaignName:
        type: string
      gatorMailCampaignId:
        type: string
      cRMCampaignId:
        type: string
      url:
        type: string
  gatormail_download:
    type: object
    properties:
      createdOn:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      description:
        type: string
      gatorMailContactId:
        format: int32
        type: integer
      entityId:
        type: string
      entityType:
        type: string
      emailAddress:
        type: string
      campaignName:
        type: string
      gatorMailCampaignId:
        type: string
      cRMCampaignId:
        type: string
      url:
        type: string
  gatormail_webHit:
    type: object
    properties:
      createdOn:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      description:
        type: string
      gatorMailContactId:
        format: int32
        type: integer
      entityId:
        type: string
      entityType:
        type: string
      emailAddress:
        type: string
      campaignName:
        type: string
      gatorMailCampaignId:
        type: string
      cRMCampaignId:
        type: string
      url:
        type: string
  gatormail_unsubscribe:
    type: object
    properties:
      createdOn:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      description:
        type: string
      gatorMailContactId:
        format: int32
        type: integer
      entityId:
        type: string
      entityType:
        type: string
      emailAddress:
        type: string
      campaignName:
        type: string
      gatorMailCampaignId:
        type: string
      cRMCampaignId:
        type: string
      url:
        type: string
  gatormail_emailSent:
    type: object
    properties:
      createdOn:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      description:
        type: string
      gatorMailContactId:
        format: int32
        type: integer
      entityId:
        type: string
      entityType:
        type: string
      emailAddress:
        type: string
      campaignName:
        type: string
      gatorMailCampaignId:
        type: string
      cRMCampaignId:
        type: string
      url:
        type: string
  gatormail_surveyAnswer:
    type: object
    properties:
      createdOn:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      description:
        type: string
      gatorMailContactId:
        format: int32
        type: integer
      entityId:
        type: string
      entityType:
        type: string
      emailAddress:
        type: string
      campaignName:
        type: string
      gatorMailCampaignId:
        type: string
      cRMCampaignId:
        type: string
      url:
        type: string
      surveryId:
        type: integer
        format: int64
      surveyQuestion:
        type: string
      surveyAnswer:
        type: string
  gatormail_eventBooked:
    type: object
    properties:
      createdOn:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      description:
        type: string
      gatorMailContactId:
        format: int32
        type: integer
      entityId:
        type: string
      entityType:
        type: string
      emailAddress:
        type: string
      campaignName:
        type: string
      gatorMailCampaignId:
        type: string
      cRMCampaignId:
        type: string
      url:
        type: string
      firstName:
        type: string
      lastName:
        type: string
      companyName:
        type: string
  gatormail_eventAttended:
    type: object
    properties:
      createdOn:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      description:
        type: string
      gatorMailContactId:
        format: int32
        type: integer
      entityId:
        type: string
      entityType:
        type: string
      emailAddress:
        type: string
      campaignName:
        type: string
      gatorMailCampaignId:
        type: string
      cRMCampaignId:
        type: string
      url:
        type: string
      firstName:
        type: string
      lastName:
        type: string
      companyName:
        type: string
  gatormail_bounces:
    type: object
    properties:
      createdOn:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      description:
        type: string
      gatorMailContactId:
        format: int32
        type: integer
      entityId:
        type: string
      entityType:
        type: string
      emailAddress:
        type: string
      campaignName:
        type: string
      gatorMailCampaignId:
        type: string
      cRMCampaignId:
        type: string
      url:
        type: string
  gatormail_sendToAFriend:
    type: object
    properties:
      createdOn:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      description:
        type: string
      gatorMailContactId:
        format: int32
        type: integer
      entityId:
        type: string
      entityType:
        type: string
      emailAddress:
        type: string
      campaignName:
        type: string
      gatorMailCampaignId:
        type: string
      cRMCampaignId:
        type: string
      url:
        type: string
  gatormail_eventCancelled:
    type: object
    properties:
      createdOn:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      description:
        type: string
      gatorMailContactId:
        format: int32
        type: integer
      entityId:
        type: string
      entityType:
        type: string
      emailAddress:
        type: string
      campaignName:
        type: string
      gatorMailCampaignId:
        type: string
      cRMCampaignId:
        type: string
      url:
        type: string
      firstName:
        type: string
      lastName:
        type: string
      companyName:
        type: string
  gatormail_newLead:
    type: object
    properties:
      createdOn:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      description:
        type: string
      gatorMailContactId:
        format: int32
        type: integer
      entityId:
        type: string
      entityType:
        type: string
      emailAddress:
        type: string
      campaignName:
        type: string
      gatorMailCampaignId:
        type: string
      cRMCampaignId:
        type: string
      url:
        type: string
      firstName:
        type: string
      lastName:
        type: string
      companyName:
        type: string
  gatormail_entityUpdate:
    type: object
    properties:
      createdOn:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      description:
        type: string
      gatorMailContactId:
        format: int32
        type: integer
      entityId:
        type: string
      entityType:
        type: string
      emailAddress:
        type: string
      campaignName:
        type: string
      gatorMailCampaignId:
        type: string
      crmCampaignId:
        type: string
      url:
        type: string
      fieldValue:
        type: string
      mappingSet:
        type: string
      gatorMailAttribute:
        type: string
      entity:
        type: string
      entityAttribute:
        type: string
      entityAttributeDataType:
        type: string
      linkedEntity:
        type: string
      entityLinkAttribute:
        type: string
      linkedEntityLinkAttribute:
        type: string
  gatormail_campaignStatistics:
    type: object
    properties:
      createdOn:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      dateInitiated:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      refreshDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      refreshPeriod:
        format: int32
        type: integer
      countTotalSend:
        format: int32
        type: integer
      countInitialSend:
        format: int32
        type: integer
      countFollowupSend:
        format: int32
        type: integer
      countTriggeredSend:
        format: int32
        type: integer
      countReferralsSend:
        format: int32
        type: integer
      countTotalUniqueUserSend:
        format: int32
        type: integer
      countTotalUndelivered:
        format: int32
        type: integer
      countEmailsFailedToSend:
        format: int32
        type: integer
      countTotalUniqueUserUndelivered:
        format: int32
        type: integer
      countDelivered:
        format: int32
        type: integer
      countTotalDelivered:
        format: int32
        type: integer
      countTotalUniqueUserDelivered:
        format: int32
        type: integer
      countTotalOpens:
        format: int32
        type: integer
      countTotalEmailsNotOpened:
        format: int32
        type: integer
      countTotalUniqueUserNotOpened:
        format: int32
        type: integer
      countTotalUniqueUserOpens:
        format: int32
        type: integer
      countTotalUniqueUserMobileOpens:
        format: int32
        type: integer
      countTotalClicks:
        format: int32
        type: integer
      countLandingZoneClicks:
        format: int32
        type: integer
      countWebDownloadClicks:
        format: int32
        type: integer
      countSurveyClicks:
        format: int32
        type: integer
      countCalendarAppointments:
        format: int32
        type: integer
      countTotalUniqueUserClicks:
        format: int32
        type: integer
      countTotalUniqueUserMobileClicks:
        format: int32
        type: integer
      countSendToAFriend:
        format: int32
        type: integer
      countUnsubscribes:
        format: int32
        type: integer
      countComplaints:
        format: int32
        type: integer
      countOtherBounces:
        format: int32
        type: integer
      countAutoresponder:
        format: int32
        type: integer
      countEmailRating:
        format: int32
        type: integer
      clickToOpenRate:
        format: int32
        type: integer
      countSocial:
        format: int32
        type: integer
      countWebHits:
        format: int32
        type: integer
  gatormail_errorLog:
    type: object
    required:
      - error
      - createdDate
    properties:
      error:
        type: string
      createdDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
  gatormail_errorModel:
    type: object
    required:
      - message
    properties:
      message:
        type: string
  gatormail_campaignType:
    type: object
    enum:
      - Static
      - RefreshRecurring
      - RefreshNonRecurring
      - StaticRecurring
      - Followup
  gatormail_integrationRequests:
    type: object
    enum:
      - SchemaMappingsPublished
      - SchemaRequested
  gatormail_event:
    type: object
    required:
      - name
      - description
      - title
      - startDate
      - endDate
      - crmId
    properties:
      id:
        type: integer
        format: int64
      name:
        type: string
      description:
        type: string
      title:
        type: string
      startDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      endDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      crmId:
        type: string
  gatormail_pagedEvent:
    type: object
    properties:
      data:
        type: array
        items:
          $ref: '#/definitions/gatormail_event'
      pageCount:
        format: int32
        type: integer
      totalItemCount:
        format: int32
        type: integer
      pageIndex:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      hasPreviousPage:
        type: boolean
      hasNextPage:
        type: boolean
      isFirstPage:
        type: boolean
      isLastPage:
        type: boolean
      firstItemOnPage:
        format: int32
        type: integer
      lastItemOnPage:
        format: int32
        type: integer
  gatormail_gatorworkflow:
    type: object
    description: a commuingator workflow
    properties:
      id:
        format: int32
        type: integer
      name:
        type: string
      notes:
        type: string
      state:
        type: string
      testEmailAddresses:
        type: string
      createdOn:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      startDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      endDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      publishDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
  gatormail_WorkFlowCampaings:
    type: object
    description: a commuingator workflow with list of campaigns
    properties:
      id:
        format: int32
        type: integer
      name:
        type: string
      notes:
        type: string
      state:
        type: string
      testEmailAddresses:
        type: string
      createdOn:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      startDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      endDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      publishDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      campaings:
        type: array
        items:
          $ref: '#/definitions/gatormail_WorkFlowCampaing'
  gatormail_WorkFlowCampaing:
    type: object
    description: a commuingator workflow with list of campaigns
    properties:
      id:
        format: int32
        type: integer
      crmId:
        type: string
      came:
        type: string
      startDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      endDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      created:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      campaignType:
        type: string
  gatormail_pagedWorkFlow:
    type: object
    description: paged list of workflows
    properties:
      data:
        type: array
        items:
          $ref: '#/definitions/gatormail_gatorworkflow'
      pageCount:
        format: int32
        type: integer
      totalItemCount:
        format: int32
        type: integer
      pageIndex:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      hasPreviousPage:
        type: boolean
      hasNextPage:
        type: boolean
      isFirstPage:
        type: boolean
      isLastPage:
        type: boolean
      firstItemOnPage:
        format: int32
        type: integer
      lastItemOnPage:
        format: int32
        type: integer
  gatormail_pagedLandinZone:
    type: object
    description: paged list of workflows
    properties:
      data:
        type: array
        items:
          $ref: '#/definitions/gatormail_LandinZone'
      pageCount:
        format: int32
        type: integer
      totalItemCount:
        format: int32
        type: integer
      pageIndex:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      hasPreviousPage:
        type: boolean
      hasNextPage:
        type: boolean
      isFirstPage:
        type: boolean
      isLastPage:
        type: boolean
      firstItemOnPage:
        format: int32
        type: integer
      lastItemOnPage:
        format: int32
        type: integer
  gatormail_LandinZone:
    type: object
    properties:
      id:
        format: int32
        type: integer
      name:
        type: string
      description:
        type: string
      html:
        type: string
      createdDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
  gatormail_CampaignLandinZone:
    type: object
    properties:
      id:
        format: int32
        type: integer
        description: Id of the landing zone you want to attach to the campaign
      reference:
        format: int32
        type: integer
        description: The reference id used in the email to link the landing zone
      alias:
        type: string
        description: The tilte of the landing zone page
  gatormail_datafeedOptions:
    type: object
    required:
      - emailOpen
      - landingZoneHit
      - surveyCompleted
      - download
      - webHit
      - unsubscribe
      - emailSent
      - surveyAnswer
      - eventBooked
      - eventAttended
      - bounces
      - sendToAFriend
      - eventCancelled
      - newLead
    properties:
      emailOpen:
        type: boolean
      landingZoneHit:
        type: boolean
      surveyCompleted:
        type: boolean
      download:
        type: boolean
      webHit:
        type: boolean
      unsubscribe:
        type: boolean
      emailSent:
        type: boolean
      surveyAnswer:
        type: boolean
      eventBooked:
        type: boolean
      eventAttended:
        type: boolean
      bounces:
        type: boolean
      sendToAFriend:
        type: boolean
      eventCancelled:
        type: boolean
      newLead:
        type: boolean
  gatormail_schema:
    type: object
    required:
      - mappingSet
      - gatorMailAttribute
      - entity
      - entityAttribute
      - entityAttributeDataType
      - bidirectionalSyncEnabled
    properties:
      mappingSet:
        type: string
        description: The name of the mapping set the mappings are associated with (the response may return numerous mapping sets (lead and contact for example)).
      gatorMailAttribute:
        type: string
        description: The attribute in GatorMail a mapping relates to.
      entity:
        type: string
        description: The CRM entity the mapping relates to.
      entityAttribute:
        type: string
        description: The CRM entity attribute the mapping relates to.
      entityAttributeDataType:
        type: string
        description: The data type for the entity attribute.
      linkedEntity:
        type: string
        description: 'A secondary entity the primary entity [entity] is linked to.'
      entityLinkAttribute:
        type: string
        description: 'The attribute in the primary entity [entity] used in the link to the secondary entity [linkedEntity].'
      linkedEntityLinkAttribute:
        type: string
        description: 'The attribute in the secondary entity [linkedEntityLinkAttribute] used in the link to the primary entity [entity].'
      bidirectionalSyncEnabled:
        type: boolean
        description: Determines whether data is passed from the CRM to GatorMail and back or just up to GatorMail.
  gatormail_schemaAttribute:
    type: object
    required:
      - entityName
      - attributeName
      - dataType
    properties:
      entityName:
        type: string
      attributeName:
        type: string
      dataType:
        type: string
  gatormail_schemaEntity:
    type: object
    required:
      - name
    properties:
      name:
        type: string
  gatormail_campaign:
    type: object
    required:
      - name
      - type
      - startDate
      - endDate
      - fromName
      - fromAddress
    properties:
      id:
        type: integer
        format: int64
      name:
        type: string
      crmId:
        type: string
      status:
        type: integer
        format: int64
      startDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      endDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      created:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      replyTo:
        type: string
      fromName:
        type: string
        description: This is only required when attaching an email to the campaign
      fromAddress:
        description: This is only required when attaching an email to the campaign
        type: string
      subject:
        type: string
      unsubscribeId:
        type: integer
        format: int64
      type:
        $ref: '#/definitions/gatormail_campaignType'
      group:
        $ref: '#/definitions/gatormail_group'
      email:
        $ref: '#/definitions/gatormail_email'
      landingzones:
        type: array
        items:
          $ref: '#/definitions/gatormail_CampaignLandinZone'
      initiateDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
  gatormail_campaignResponse:
    type: object
    properties:
      id:
        type: integer
        format: int64
      name:
        type: string
      crmId:
        type: string
      status:
        type: integer
        format: int64
      lzUrl:
        type: string
      startDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      endDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      created:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      replyTo:
        type: string
      fromName:
        type: string
      fromAddress:
        type: string
      subject:
        type: string
      unsubscribeId:
        type: integer
        format: int64
      type:
        $ref: '#/definitions/gatormail_campaignType'
      group:
        $ref: '#/definitions/gatormail_group'
      email:
        $ref: '#/definitions/gatormail_email'
      landingzones:
        type: array
        items:
          $ref: '#/definitions/gatormail_CampaignLandinZone'
      initiateDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      isQuickCampaign:
        type: boolean
  gatormail_email:
    type: object
    required:
      - html
    properties:
      id:
        type: string
      name:
        type: string
      html:
        type: string
      text:
        type: string
      autoTrackLinks:
        type: boolean
  gatormail_campaignBasic:
    type: object
    properties:
      id:
        type: integer
        format: int64
      name:
        type: string
      crmId:
        type: string
      status:
        type: integer
        format: int64
      startDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      endDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      created:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      replyTo:
        type: string
      fromName:
        type: string
      fromAddress:
        type: string
      subject:
        type: string
      unsubscribeId:
        type: integer
        format: int64
      type:
        $ref: '#/definitions/gatormail_campaignType'
      group:
        $ref: '#/definitions/gatormail_group'
      initiateDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
  gatormail_pagedCampaign:
    type: object
    properties:
      data:
        type: array
        items:
          $ref: '#/definitions/gatormail_campaignBasic'
      pageCount:
        format: int32
        type: integer
      totalItemCount:
        format: int32
        type: integer
      pageIndex:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      hasPreviousPage:
        type: boolean
      hasNextPage:
        type: boolean
      isFirstPage:
        type: boolean
      isLastPage:
        type: boolean
      firstItemOnPage:
        format: int32
        type: integer
      lastItemOnPage:
        format: int32
        type: integer
  gatormail_pagedCampaignOpen:
    type: object
    properties:
      data:
        type: array
        items:
          $ref: '#/definitions/gatormail_campaignOpen'
      pageCount:
        format: int32
        type: integer
      totalItemCount:
        format: int32
        type: integer
      pageIndex:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      hasPreviousPage:
        type: boolean
      hasNextPage:
        type: boolean
      isFirstPage:
        type: boolean
      isLastPage:
        type: boolean
      firstItemOnPage:
        format: int32
        type: integer
      lastItemOnPage:
        format: int32
        type: integer
  gatormail_campaignOpen:
    type: object
    properties:
      date:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      contact:
        $ref: '#/definitions/gatormail_contact'
  gatormail_pagedCampaignBounce:
    type: object
    properties:
      data:
        type: array
        items:
          $ref: '#/definitions/gatormail_campaignBounce'
      pageCount:
        format: int32
        type: integer
      totalItemCount:
        format: int32
        type: integer
      pageIndex:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      hasPreviousPage:
        type: boolean
      hasNextPage:
        type: boolean
      isFirstPage:
        type: boolean
      isLastPage:
        type: boolean
      firstItemOnPage:
        format: int32
        type: integer
      lastItemOnPage:
        format: int32
        type: integer
  gatormail_campaignBounce:
    type: object
    properties:
      date:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      type:
        type: string
        description: 'The type of the bounce (Hard Bounce, Soft Bounce, Auto Responder, Transient, Challenge Verification, Dns Error, Spam Notification, Virus Notification, Unknown, Complaints)'
      description:
        type: string
        description: A description of the bounce
      contact:
        $ref: '#/definitions/gatormail_contact'
  gatormail_group:
    type: object
    required:
      - name
    properties:
      id:
        type: integer
        format: int64
      name:
        type: string
      description:
        type: string
      created:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
  gatormail_address:
    type: object
    properties:
      address1:
        type: string
      address2:
        type: string
      address3:
        type: string
      postcode:
        type: string
      phone:
        type: string
      fax:
        type: string
      mobile:
        type: string
  gatormail_gatorLeadContact:
    type: object
    properties:
      id:
        type: string
      permalink:
        type: string
      totalScore:
        type: integer
        format: int64
      lastVisit:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      leadBand:
        type: string
      department:
        type: string
      role:
        type: string
  gatormail_gatorLeadCompany:
    type: object
    properties:
      id:
        type: string
      permalink:
        type: string
      totalScore:
        type: integer
        format: int64
      lastVisit:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      leadBand:
        type: string
      industry:
        type: string
      sizeBand:
        type: string
      size:
        type: integer
        format: int64
      location:
        type: string
  gatormail_businessObject:
    type: object
    required:
      - default
    properties:
      default:
        type: string
      additionalProperties:
        type: string
  gatormail_pagedGroup:
    type: object
    properties:
      data:
        type: array
        items:
          $ref: '#/definitions/gatormail_group'
      pageCount:
        format: int32
        type: integer
      totalItemCount:
        format: int32
        type: integer
      pageIndex:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      hasPreviousPage:
        type: boolean
      hasNextPage:
        type: boolean
      isFirstPage:
        type: boolean
      isLastPage:
        type: boolean
      firstItemOnPage:
        format: int32
        type: integer
      lastItemOnPage:
        format: int32
        type: integer
  gatormail_pagedContact:
    type: object
    properties:
      data:
        type: array
        items:
          $ref: '#/definitions/gatormail_contact'
      pageCount:
        format: int32
        type: integer
      totalItemCount:
        format: int32
        type: integer
      pageIndex:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      hasPreviousPage:
        type: boolean
      hasNextPage:
        type: boolean
      isFirstPage:
        type: boolean
      isLastPage:
        type: boolean
      firstItemOnPage:
        format: int32
        type: integer
      lastItemOnPage:
        format: int32
        type: integer
  gatormail_pagedEmails:
    type: object
    properties:
      data:
        type: array
        items:
          $ref: '#/definitions/gatormail_emailresponse'
      pageCount:
        format: int32
        type: integer
      totalItemCount:
        format: int32
        type: integer
      pageIndex:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      hasPreviousPage:
        type: boolean
      hasNextPage:
        type: boolean
      isFirstPage:
        type: boolean
      isLastPage:
        type: boolean
      firstItemOnPage:
        format: int32
        type: integer
      lastItemOnPage:
        format: int32
        type: integer
  gatormail_emailresponse:
    type: object
    properties:
      Id:
        format: int32
        type: integer
      name:
        type: string
      Description:
        type: string
      Html:
        type: string
      Text:
        type: string
      createdDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
  gatormail_groupContactResponse:
    type: object
    properties:
      groupId:
        format: int32
        type: integer
      Contacts:
        type: array
        items:
          $ref: '#/definitions/gatormail_GroupContactsIsNew'
  gatormail_GroupContactsIsNew:
    type: object
    properties:
      email:
        type: string
      isNewContact:
        type: boolean
  gatormail_groupContactRequest:
    type: object
    properties:
      groupid:
        format: int32
        type: integer
      groupContacts:
        type: array
        items:
          $ref: '#/definitions/gatormail_groupContact'
  gatormail_groupGroupClearDownRequest:
    type: object
    properties:
      name:
        type: string
  gatormail_groupContactsParam:
    type: object
    properties:
      field:
        type: string
      operator:
        type: string
      value:
        type: string
  gatormail_EmailFilterParam:
    type: object
    properties:
      searchField:
        type: string
      searchOperators:
        type: integer
      SearchValue:
        type: string
  gatormail_contactExport:
    type: object
    properties:
      contacts:
        type: array
        items:
          $ref: '#/definitions/gatormail_contact'
      campaigns:
        type: array
        items:
          type: string
      consentConfirmations:
        type: array
        items:
          $ref: '#/definitions/gatormail_consent_confirmation'
  gatormail_consent_confirmation:
    type: object
    properties:
      confirmedDate:
        type: string
      confirmationStatement:
        type: string
      email:
        type: string
      ipAddress:
        type: string
  gatormail_pagedCampaignContactResults:
    type: object
    required:
      - email
    properties:
      resultType:
        type: string
      campaignId:
        type: string
      eventDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      id:
        type: integer
        format: int64
      email:
        type: string
      firstName:
        type: string
      lastName:
        type: string
      title:
        type: string
      positionInCompany:
        type: string
      companyName:
        type: string
      crmCompanyId:
        type: string
      crmContactId:
        type: string
      sendHtml:
        type: integer
        format: int32
      optIn:
        type: string
      bounceCount:
        type: integer
        format: int32
      undeliverable:
        type: string
      undeliverableDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      address:
        $ref: '#/definitions/gatormail_address'
      lastValidated:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      crmExtendedDetail:
        type: string
      mostRecentBounceReason:
        type: string
      mostRecentBounceDate:
        type: string
      crmContactType:
        type: string
      contactCreatedDt:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      contactPassword:
        type: string
      country:
        type: string
      region:
        type: string
      industry:
        type: string
      department:
        type: string
      turnOver:
        type: string
      numberOfEmployees:
        type: string
      gatorLeadsContact:
        $ref: '#/definitions/gatormail_gatorLeadContact'
      gatorLeadCompany:
        $ref: '#/definitions/gatormail_gatorLeadCompany'
      mostRecentEmailSentDate:
        type: string
      mostRecentEmailOpenDate:
        type: string
      mostRecentEngagementDate:
        type: string
      confirmedOptedIn:
        type: string
      businessObjects:
        description: The business object name in GatorMail
        type: array
        items:
          $ref: '#/definitions/gatormail_businessObject'
  gatormail_contact:
    type: object
    required:
      - id
    properties:
      id:
        type: integer
        format: int64
      email:
        type: string
      firstName:
        type: string
      lastName:
        type: string
      title:
        type: string
      positionInCompany:
        type: string
      companyName:
        type: string
      crmCompanyId:
        type: string
      crmContactId:
        type: string
      sendHtml:
        type: integer
        format: int32
      optIn:
        type: string
      bounceCount:
        type: integer
        format: int32
      undeliverable:
        type: string
      undeliverableDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      address:
        $ref: '#/definitions/gatormail_address'
      lastValidated:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      crmExtendedDetail:
        type: string
      mostRecentBounceReason:
        type: string
      mostRecentBounceDate:
        type: string
      crmContactType:
        type: string
      contactCreatedDt:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      contactPassword:
        type: string
      country:
        type: string
      region:
        type: string
      industry:
        type: string
      department:
        type: string
      turnOver:
        type: string
      numberOfEmployees:
        type: string
      gatorLeadsContact:
        $ref: '#/definitions/gatormail_gatorLeadContact'
      gatorLeadCompany:
        $ref: '#/definitions/gatormail_gatorLeadCompany'
      mostRecentEmailSentDate:
        type: string
      mostRecentEmailOpenDate:
        type: string
      mostRecentEngagementDate:
        type: string
      confirmedOptedIn:
        type: string
      businessObjects:
        description: The business object name in GatorMail
        type: array
        items:
          $ref: '#/definitions/gatormail_businessObject'
  gatormail_groupContact:
    type: object
    required:
      - id
    properties:
      id:
        type: integer
        format: int64
      email:
        type: string
      firstName:
        type: string
      lastName:
        type: string
      title:
        type: string
      positionInCompany:
        type: string
      companyName:
        type: string
      crmCompanyId:
        type: string
      crmContactId:
        type: string
      sendHtml:
        type: integer
        format: int32
      optIn:
        type: string
      address:
        $ref: '#/definitions/gatormail_address'
      lastValidated:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      crmExtendedDetail:
        type: string
      crmContactType:
        type: string
      contactPassword:
        type: string
      country:
        type: string
      region:
        type: string
      industry:
        type: string
      department:
        type: string
      turnOver:
        type: string
      numberOfEmployees:
        type: string
      businessObjects:
        description: The business object name in GatorMail
        type: array
        items:
          $ref: '#/definitions/gatormail_businessObject'
  gatormail_contactUpdate:
    type: object
    required:
      - id
      - email
    properties:
      id:
        type: integer
        format: int64
        description: ID or Email required
      email:
        type: string
        description: ID or Email required
      firstName:
        type: string
      lastName:
        type: string
      title:
        type: string
      positionInCompany:
        type: string
      companyName:
        type: string
      crmCompanyId:
        type: string
      crmContactId:
        type: string
      sendHtml:
        type: integer
        format: int32
      optIn:
        type: string
      address:
        $ref: '#/definitions/gatormail_address'
      lastValidated:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      crmExtendedDetail:
        type: string
      crmContactType:
        type: string
      contactPassword:
        type: string
      country:
        type: string
      region:
        type: string
      industry:
        type: string
      department:
        type: string
      turnOver:
        type: string
      numberOfEmployees:
        type: string
      businessObjects:
        description: The business object name in GatorMail
        type: array
        items:
          $ref: '#/definitions/gatormail_businessObject'
  gatormail_campaignContact:
    type: object
    required:
      - email
    properties:
      id:
        type: integer
        format: int64
      campaignId:
        type: integer
        format: int64
      email:
        type: string
      firstName:
        type: string
      lastName:
        type: string
      title:
        type: string
      positionInCompany:
        type: string
      companyName:
        type: string
      crmCompanyId:
        type: string
      crmContactId:
        type: string
      sendHtml:
        type: integer
        format: int32
      optIn:
        type: string
      address:
        $ref: '#/definitions/gatormail_address'
      lastValidated:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      crmExtendedDetail:
        type: string
      crmContactType:
        type: string
      contactPassword:
        type: string
      country:
        type: string
      region:
        type: string
      industry:
        type: string
      department:
        type: string
      turnOver:
        type: string
      numberOfEmployees:
        type: string
      businessObjects:
        description: The addtional custom Contact Fields you have created in GatorMail
        pattern: '{"Contact Field Name 1": "Value of Contact Filed", "Contact Field Name 2": "... }'
        type: object
        additionalProperties:
          type: string
      mergeFields:
        description: The merge fields that can be used in the campaign email
        type: array
        items:
          $ref: '#/definitions/gatormail_mergeField'
  gatormail_mergeField:
    type: object
    properties:
      number:
        description: 'the number id for the merge field in the email i.e. #MERGEFIELD1# this would be 1'
        type: integer
        format: int64
      content:
        description: the merge field content
        type: string
  gatormail_campaignContacts:
    type: object
    properties:
      campaignId:
        description: If campaign id is not set in against a contact this will be used
        type: integer
        format: int64
      campaignContacts:
        description: 'List of contacts, set campaignId to send differant campaigns to each contact'
        type: array
        items:
          $ref: '#/definitions/gatormail_campaignContact'
  gatormail_confirmationOptInContacts:
    type: object
    properties:
      contacts:
        description: 'List of contacts, set campaignId to send differant campaigns to each contact'
        type: array
        items:
          $ref: '#/definitions/gatormail_contact'
  gatormail_bulkDeleteContactsRequest:
    type: object
    properties:
      softDelete:
        type: boolean
        description: Whether to soft or hard delete the contacts
      emailAddresses:
        type: array
        items:
          type: string
  gatormail_UnsubscribesList:
    type: array
    items:
      $ref: '#/definitions/gatormail_Unsubscribe'
  gatormail_Unsubscribe:
    type: object
    properties:
      id:
        type: integer
        format: int64
      name:
        type: string
      description:
        type: string
      optinValue:
        type: string
      optOutValue:
        type: string
      attributeName:
        type: string
  gatormail_contactCreate:
    type: object
    required:
      - email
    properties:
      email:
        type: string
      firstName:
        type: string
      lastName:
        type: string
      title:
        type: string
      positionInCompany:
        type: string
      companyName:
        type: string
      crmCompanyId:
        type: string
      crmContactId:
        type: string
      sendHtml:
        type: integer
        format: int32
      optIn:
        type: string
      address:
        $ref: '#/definitions/gatormail_address'
      lastValidated:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      crmExtendedDetail:
        type: string
      crmContactType:
        type: string
      contactPassword:
        type: string
      country:
        type: string
      region:
        type: string
      industry:
        type: string
      department:
        type: string
      turnOver:
        type: string
      numberOfEmployees:
        type: string
      businessObjects:
        description: The addtional custom Contact Fields you have created in GatorMail
        pattern: '{"Contact Field Name 1": "Value of Contact Filed", "Contact Field Name 2": "... }'
        type: object
        additionalProperties:
          type: string
  gatormail_confirmationOptInAuditRecord:
    type: object
    properties:
      confirmDateTime:
        type: string
      ipAddress:
        type: string
      confirmedContactRecord:
        type: integer
      source:
        type: string
      sourceName:
        type: string
      confirmedStatement:
        type: string
      emailAddress:
        type: string
      confirmationOptInFormName:
        type: string
      confirmOptInId:
        type: integer
      isDuplicate:
        type: boolean
      firstName:
        type: string
      lastName:
        type: string
      confirmedFieldName:
        type: string
      crmContactId:
        type: string
  gatormail_confirmationOptInAuditRecords:
    type: object
    properties:
      data:
        type: array
        items:
          $ref: '#/definitions/gatormail_confirmationOptInAuditRecord'
  gatormail_resetDate:
    type: object
    properties:
      resetDate:
        type: string
  gatormail_pagedSurveyResponse:
    type: object
    properties:
      data:
        type: array
        items:
          $ref: '#/definitions/gatormail_surveyResponse'
      pageCount:
        format: int32
        type: integer
      totalItemCount:
        format: int32
        type: integer
      pageIndex:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      hasPreviousPage:
        type: boolean
      hasNextPage:
        type: boolean
      isFirstPage:
        type: boolean
      isLastPage:
        type: boolean
      firstItemOnPage:
        format: int32
        type: integer
      lastItemOnPage:
        format: int32
        type: integer
  gatormail_surveyResponse:
    type: object
    properties:
      surveyId:
        type: integer
        description: The identifier of the survey
      sessionId:
        type: string
        description: The survey session the response relates to
      surveyName:
        type: string
        description: The name of the survey
      emailAddress:
        type: string
        description: The email address of the contact who submitted the survey
      firstName:
        type: string
        description: The first name of the contact who submitted the survey
      lastName:
        type: string
        description: The last name of the contact who submitted the survey
      companyName:
        type: string
        description: The company name of the contact who submitted the survey
      crmContactId:
        type: string
        description: The CRM identifier of the contact who submitted the survey
      crmContactType:
        type: string
        description: The CRM type of the contact who submitted the survey
      campaignId:
        type: integer
        description: The identifier of the campaign associated with the survey
      contactId:
        type: integer
        description: The identifier of the contact who submitted the survey
      questionText:
        type: string
        description: The survey question text
      subQuestionText:
        type: string
        description: The survey sub question text (if defined)
      answerText:
        type: string
        description: The answer submitted by the contact
      responseDate:
        type: string
        description: The date the submission occured
      mergeField1:
        type: string
        description: Merge field data for merge field 1 (only available if used as part of a trigger email campaign send)
      mergeField2:
        type: string
        description: Merge field data for merge field 2 (only available if used as part of a trigger email campaign send)
      mergeField3:
        type: string
        description: Merge field data for merge field 3 (only available if used as part of a trigger email campaign send)
      mergeField4:
        type: string
        description: Merge field data for merge field 4 (only available if used as part of a trigger email campaign send)
      mergeField5:
        type: string
        description: Merge field data for merge field 5 (only available if used as part of a trigger email campaign send)
      mergeField6:
        type: string
        description: Merge field data for merge field 6 (only available if used as part of a trigger email campaign send)
      mergeField7:
        type: string
        description: Merge field data for merge field 7 (only available if used as part of a trigger email campaign send)
      mergeField8:
        type: string
        description: Merge field data for merge field 8 (only available if used as part of a trigger email campaign send)
      mergeField9:
        type: string
        description: Merge field data for merge field 9 (only available if used as part of a trigger email campaign send)
      mergeField10:
        type: string
        description: Merge field data for merge field 10 (only available if used as part of a trigger email campaign send)
  gatorleads_user:
    type: object
    properties:
      name:
        type: string
      emailAddress:
        type: string
    example:
      name: Joe Blogs
      emailAddress: joe.blogs@example.com
  gatorleads_industry:
    type: object
    properties:
      name:
        type: string
      level1:
        type: string
      level2:
        type: string
      level3:
        type: string
    example:
      name: Advertising & Marketing
      level1: Bizservice
      level2: Marketing
      level3: null
  gatorleads_company:
    type: object
    properties:
      name:
        type: string
      domain:
        type: string
      street:
        type: string
      city:
        type: string
      county:
        type: string
      postCode:
        type: string
      country:
        type: string
      region:
        type: string
      employees:
        type: string
      industries:
        type: array
        items:
          $ref: '#/definitions/gatorleads_industry'
      phoneNumber:
        type: string
      companyDescription:
        type: string
      revenue:
        type: string
    example:
      name: 'Communigator Limited,'
      domain: 'communigator.co.uk,'
      street: 'The Old Byre, Peper Harow,'
      city: 'Godalming,'
      county: 'Surrey,'
      postCode: 'GU2 8PR,'
      country: 'United Kingdom,'
      region: 'South East,'
      employees: '20 - 50,'
      industries:
        - name: 'Advertising & Marketing,'
          level1: 'Bizservice,'
          level2: 'Marketing,'
          level3: null
        - name: 'Business Services,'
          level1: 'Bizservice,'
          level2: 'null,'
          level3: null
        - name: 'Custom Software & Technical Consulting,'
          level1: 'Software,'
          level2: 'Consulting,'
          level3: null
        - name: 'Software,'
          level1: 'Software,'
          level2: 'null,'
          level3: null
      phoneNumber: '+44 1483 698270,'
      companyDescription: 'CommuniGator Ltd has a characteristically fresh approach; treat email marketing with the attention it deserves, and your audience will do the same. The features and functions of CommuniGator''s digital marketing software (GatorMail) have been developed to make the marketers job easier and more effective. We work very closely with the Institute of Direct Marketing and the Direct Marketing Association to ensure our methods and practices are in line with best practice. Established in 2005, CommuniGator has rapidly become one of the leading email marketing software providers in the UK. Hundreds of companies rely on CommuniGator for on-demand, on-premise or fully managed email marketing solutions, including companies such as British Sugar, Visit Britain, Aspire Technology, La Manga Rentals and Jordans. \n\nWe will take into account your budget, listen to your objectives and requirements and advise on the right solution to deliver exactly what you need. Call us now on 01483 698270 to unleash the potential of email marketing for your business. ,'
      revenue: $1M to $5M
  gatorleads_client:
    type: object
    properties:
      id:
        type: string
        pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
      name:
        type: string
      accountExpiry:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      companyVisitsToday:
        type: integer
        format: int64
      companyVisitsThisMonth:
        type: integer
        format: int64
      trackingCode:
        type: string
      domains:
        type: array
        items:
          type: string
    example:
      id: 157a7a31-464b-4ec8-a48d-dd16c3e72ce6
      name: '{{Client Name within GatorLeads}}'
      accountExpiry": '2019-01-01T00:00:00'
      companyVisitsToday: 6
      companyVisitsThisMonth: 71
      trackingCode: sample string 3
      domains":
        - sample string 1
        - sample string 2
  gatorleads_leadContactDetails:
    type: object
    description: 'Value returned will default to null, unless the lead type is a ContactLead (API v2.0+)'
    properties:
      companyId:
        type: string
        pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
      firstName:
        type: string
      lastName:
        type: string
      position:
        type: string
  gatorleads_lead:
    type: object
    properties:
      id:
        type: string
        pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
      totalScore:
        type: integer
        format: int64
      type:
        type: string
      status:
        type: string
      companyName:
        type: string
      permaLink:
        type: string
      assignedTo:
        type: array
        items:
          $ref: '#/definitions/gatorleads_user'
      emailAddress:
        type: string
      clientId:
        type: string
        pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
      lastVisit:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      leadBand:
        type: string
      assignedDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      firstVisit:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      last7DayScore:
        type: integer
        format: int64
      last30DaysScore:
        type: integer
        format: int64
      todayScore:
        type: integer
        format: int64
      yesturdayScore:
        type: integer
        format: int64
      company:
        $ref: '#/definitions/gatorleads_company'
      contact:
        $ref: '#/definitions/gatorleads_leadContactDetails'
    example:
      id: 00000000-0000-0000-0000-000000000000
      totalScore: 20
      type: Lead
      status: Open
      companyName: Communigator Limited
      permaLink: 'https://app.gatorleads.co.uk/Permalink/Company/00000000-0000-0000-0000-000000000000'
      assignedTo:
        - name: A Sales
          emailAddress: a.sales@gatorleads.co.uk
      emailAddress: auser@communigator.co.uk
      clientId: 00000000-0000-0000-0000-000000000000
      lastVisit: '2015-02-12T10:18:22'
      leadBand: Hot
      assignedDate: '2014-03-05T14:07:45'
      firstVisit: '2014-11-12T15:17:09'
      last7DaysScore: 5
      last30DaysScore: 5
      todayScore: 5
      yesterdayScore: 0
      company:
        name: Communigator Limited
        domain: communigator.co.uk
        street: 'The Old Byre, Peper Harow'
        city: Godalming
        county: Surrey
        postCode: GU2 8PR
        country: United Kingdom
        region: South East
        employees: 20 - 50
        industries:
          - name: Advertising & Marketing
            level1: Bizservice
            level2: Marketing
            level3: null
          - name: Business Services
            level1: Bizservice
            level2: null
            level3: null
          - name: Custom Software & Technical Consulting
            level1: Software
            level2: Consulting
            level3: null
          - name: Software
            level1: Software
            level2: null
            level3: null
        phoneNumber: +44 1483 698270
        companyDescription: |-
          CommuniGator Ltd has a characteristically fresh approach; treat email marketing with the attention it deserves, and your audience will do the same. The features and functions of CommuniGator's digital marketing software (GatorMail) have been developed to make the marketers job easier and more effective. We work very closely with the Institute of Direct Marketing and the Direct Marketing Association to ensure our methods and practices are in line with best practice. Established in 2005, CommuniGator has rapidly become one of the leading email marketing software providers in the UK. Hundreds of companies rely on CommuniGator for on-demand, on-premise or fully managed email marketing solutions, including companies such as British Sugar, Visit Britain, Aspire Technology, La Manga Rentals and Jordans. 

          We will take into account your budget, listen to your objectives and requirements and advise on the right solution to deliver exactly what you need. Call us now on 01483 698270 to unleash the potential of email marketing for your business. 
        revenue: $1M to $5M
      contact:
        companyid: 00000000-0000-0000-0000-000000000000
        firstName: William
        lastname: Shore
        position: Developer
  gatorleads_leads:
    type: array
    items:
      $ref: '#/definitions/gatorleads_lead'
  gatorleads_pagedLead:
    type: object
    properties:
      data:
        type: array
        items:
          $ref: '#/definitions/gatorleads_lead'
      pageCount:
        format: int32
        type: integer
      totalItemCount:
        format: int32
        type: integer
      pageIndex:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      hasPreviousPage:
        type: boolean
      hasNextPage:
        type: boolean
      isFirstPage:
        type: boolean
      isLastPage:
        type: boolean
      firstItemOnPage:
        format: int32
        type: integer
      lastItemOnPage:
        format: int32
        type: integer
  gatorleads_leadtype:
    type: object
    properties:
      type:
        type: string
      leads:
        type: integer
        format: int64
  gatorleads_leadtypes:
    type: array
    items:
      $ref: '#/definitions/gatorleads_leadtype'
  gatorleads_utm:
    type: object
    properties:
      utmName:
        type: string
      utmMedium:
        type: string
      utmTerm:
        type: string
      utmContent:
        type: string
  gatorleads_matchType:
    type: string
    enum:
      - Exact
      - Anywhere
      - Start
      - End
  gatorleads_leadSearch:
    type: object
    properties:
      searchType:
        type: string
        description: |
          type of search to carry out 
          Page : search value in the url domain is ignored
          Keyword : search for a keyword
          PPC : search for PPC keyword
      utm:
        $ref: '#/definitions/gatorleads_utm'
      matchType:
        $ref: '#/definitions/gatorleads_matchType'
  gatorleads_trackedlink:
    type: object
    properties:
      linkId:
        type: string
        pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
      title:
        type: string
      url:
        type: string
      categories:
        type: array
        items:
          type: string
      visited:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      pageType:
        type: string
      leadId:
        type: string
        pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
      refererUrl:
        type: string
      webBrowser:
        type: string
      campaign:
        type: string
      pageScore:
        type: integer
        format: int64
      source:
        type: string
      medium:
        type: string
      term:
        type: string
      contactId:
        type: string
        pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
      crmPersonId:
        type: string
      crmType:
        type: string
      crmAccountId:
        type: string
      emailAddress:
        type: string
      personId:
        type: integer
        format: int64
      custom1:
        type: string
      custom2:
        type: string
      custom3:
        type: string
  gatorleads_queuedlinkList:
    type: object
    properties:
      processId:
        type: string
        pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
        description: process id GUID
      trackedLinks:
        type: array
        items:
          $ref: '#/definitions/gatorleads_trackedlink'
  gatorleads_contactsdailyconnections:
    type: object
    properties:
      date:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      rate:
        type: integer
        description: The count of distinct contacts
      year:
        type: integer
        description: The year in which the connections occurred
      month:
        type: integer
        description: The month in which the connections occurred
      day:
        type: integer
        description: The day in which the connections occurred
    example:
      date: '2017-07-06T16:15:00'
      rate: 100
      year: 2017
      month: 7
      day: 6
  gatorleads_companydailyconnections:
    type: object
    properties:
      date:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      rate:
        type: integer
        description: The count of distinct companies
      year:
        type: integer
        description: The year in which the connections occurred
      month:
        type: integer
        description: The month in which the connections occurred
      day:
        type: integer
        description: The day in which the connections occurred
    example:
      date: '2017-07-06T16:15:00'
      rate: 100
      year: 2017
      month: 7
      day: 6
  gatorleads_userclient:
    type: object
    properties:
      id:
        type: string
        pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
      name:
        type: string
      accountExpiry:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      trackingCode:
        type: string
      trackingScript:
        type: string
      trackingScriptSsl:
        type: string
      domains:
        type: array
        items:
          type: string
    example:
      id: 157a7a31-464b-4ec8-a48d-dd16c3e72ce6
      name: '{{Client Name within GatorLeads}}'
      accountExpiry": '2019-01-01T00:00:00'
      trackingCode: sample string 3
      trackingScript: tracking script code (JavaScript)
      trackingScriptSsl: tracking script code. SSL version (JavaScript)
      domains":
        - sample string 1
        - sample string 2
  gatorleads_purl:
    type: object
    properties:
      emailAddress:
        type: string
      url:
        type: string
      campaign:
        type: string
      alert:
        type: boolean
    example:
      emailAddress: joe.blogs@example.com
      url: 'http://wysi.bz/19768933a'
      campaign: campaign 1
      alert": false
  gatorleads_leadTypeNames:
    type: object
    properties:
      lead:
        type: object
        properties:
          show:
            type: boolean
          name:
            type: string
      competitor:
        type: object
        properties:
          show:
            type: boolean
          name:
            type: string
      customer:
        type: object
        properties:
          show:
            type: boolean
          name:
            type: string
      qualified:
        type: object
        properties:
          show:
            type: boolean
          name:
            type: string
      partner:
        type: object
        properties:
          show:
            type: boolean
          name:
            type: string
      contact:
        type: object
        properties:
          show:
            type: boolean
          name:
            type: string
      supplier:
        type: object
        properties:
          show:
            type: boolean
          name:
            type: string
      isp:
        type: object
        properties:
          show:
            type: boolean
          name:
            type: string
      custom1:
        type: object
        properties:
          show:
            type: boolean
          name:
            type: string
      custom2:
        type: object
        properties:
          show:
            type: boolean
          name:
            type: string
      custom3:
        type: object
        properties:
          show:
            type: boolean
          name:
            type: string
    example:
      lead:
        show: true
        name: sample string 2
      competitor:
        show: true
        name: sample string 2
      customer:
        show: true
        name: sample string 2
      qualified:
        show: true
        name: sample string 2
      partner:
        show: true
        name: sample string 2
      contact:
        show: true
        name: sample string 2
      supplier:
        show: true
        name: sample string 2
      isp:
        show: true
        name: sample string 2
      custom1:
        show: true
        name: sample string 2
      custom2:
        show: true
        name: sample string 2
      custom3:
        show: true
        name: sample string 2
  gatormail_campaignInitiate:
    type: object
    properties:
      campaignInitiated:
        type: boolean
      message:
        type: string
  gatormail_campaignSendtestResult:
    type: object
    properties:
      CampaignTestSent:
        description: True value is a successful send.
        type: boolean
      message:
        description: description of out come.
        type: string
  gatormail_campaignSendtest:
    type: object
    properties:
      email:
        description: The email address you want to send the test to.
        type: string
  gatormail_campaignTrigger:
    type: object
    properties:
      campaigTriggered:
        type: boolean
      message:
        type: string
  gatormail_confirmationOptInTrigger:
    type: object
    properties:
      confirmationOptInTriggered:
        type: boolean
      message:
        type: string
  gatormail_contactAttribute:
    type: object
    properties:
      name:
        type: string
      dataType:
        type: string
      isClientField:
        type: boolean
  gatormail_uploadContactAttribute:
    type: object
    description: GatorMail new contact attribute
    required:
      - attributeName
      - displayName
      - dataType
    properties:
      attributeName:
        type: string
      displayName:
        type: string
      dataType:
        $ref: '#/definitions/gatormail_uploadContactAttributeDateTypes'
      value:
        type: string
      trueValue:
        type: string
      falseValue:
        type: string
      isPreference:
        type: boolean
      includeNullAsTrue:
        type: boolean
      blankAsTrue:
        type: boolean
  gatormail_uploadContactAttributeDateTypes:
    description: Allowed data types that can be uploaded
    type: object
    enum:
      - Number
      - Text
      - TrueFalse
      - Date
      - DropDown
      - RadioButton
  gatormail_pagedContactAttribute:
    type: object
    properties:
      data:
        type: array
        items:
          $ref: '#/definitions/gatormail_contactAttribute'
      pageCount:
        format: int32
        type: integer
      totalItemCount:
        format: int32
        type: integer
      pageIndex:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      hasPreviousPage:
        type: boolean
      hasNextPage:
        type: boolean
      isFirstPage:
        type: boolean
      isLastPage:
        type: boolean
      firstItemOnPage:
        format: int32
        type: integer
      lastItemOnPage:
        format: int32
        type: integer
  gatorSurvey_account:
    type: object
    description: GatorSurvey Account
    properties:
      id:
        type: string
        pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
      name:
        type: string
        description: mame of the account
  gatorSurvey_PageSurveyItemLists:
    type: object
    description: Paged Survey Items.
    properties:
      surveys:
        type: array
        items:
          $ref: '#/definitions/gatorSurvey_SurveyItem'
      next:
        type: string
        description: Url to get next page is avalible.
      previous:
        type: string
        description: Url to get previous page is avalible.
      take:
        type: integer
        format: int32
        description: number of items taken
      page:
        type: integer
        format: int32
        description: page number used.
  gatorSurvey_SurveyItem:
    type: object
    description: Survey Item
    properties:
      id:
        type: string
        pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
      name:
        type: string
        description: mame of the account
      createdDate:
        type: string
      isPublished:
        $ref: '#/definitions/gatorSurvey_SurveyStatus'
      publishedVersion:
        format: int32
        type: integer
  gatorSurvey_SurveyStatus:
    description: current Puplish state of the survey
    type: object
    enum:
      - Inactive
      - Published
      - Completed
      - Unpublished
      - Republished
  gatorSurvey_TrackingInfo:
    type: object
    description: Paged Survey Items.
    properties:
      campaignId:
        type: string
        description: Campaign id of GatorMail Campaign
      campaignName:
        type: string
        description: Campaign name of GatorMail Campaign
      contactId:
        type: string
        description: Contact id of GatorMail contact
      pageId:
        type: string
      emailId:
        type: string
      emailAddress:
        type: string
        description: Email Address id of GatorMail contact
      sendType:
        type: string
        description: Campaign send type of GatorMail Campaign
      crmPersonId:
        type: string
        description: Crm Id of GatorMail contact
      crmPersonType:
        type: string
        description: Crm type id of GatorMail contact (i.e CONTACT or LEAD)
      landingZone:
        type: string
        description: GatorMail instance name.
  gatorSurvey_PageBasicSurveyReponceListResults:
    type: object
    description: Paged Survey Items.
    properties:
      surveys:
        type: array
        items:
          $ref: '#/definitions/gatorSurvey_BasicSurveyReponceResults'
      next:
        type: string
        description: Url to get next page is avalible.
      previous:
        type: string
        description: Url to get previous page is avalible.
      take:
        type: integer
        format: int32
        description: number of items taken
      page:
        type: integer
        format: int32
        description: page number used.
  gatorSurvey_BasicSurveyReponceResults:
    type: object
    description: Paged Survey Items.
    properties:
      id:
        type: string
        pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
      name:
        type: string
        description: mame of the account
      createdDate:
        type: string
      isPublished:
        $ref: '#/definitions/gatorSurvey_SurveyStatus'
      publishedVersion:
        format: int32
        type: integer
      responses:
        type: array
        items:
          $ref: '#/definitions/gatorSurvey_BasicResponseResults'
      next:
        type: string
        description: Url to get next page is avalible.
      previous:
        type: string
        description: Url to get previous page is avalible.
      take:
        type: integer
        format: int32
        description: number of items taken
      page:
        type: integer
        format: int32
        description: page number used.
  gatorSurvey_BasicResponseResults:
    type: object
    description: Paged Survey Items.
    properties:
      id:
        type: string
        description: id of survey response
        pattern: '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i'
      startDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      isCompleted:
        type: boolean
        description: number of items taken
      completedDate:
        type: string
        description: 'Date in GMT yyyy-mm-ddT00:00:00'
        pattern: '^(?:[2-9]\d\d\d)-(?:1[012]|0?[1-9])?-(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:T))|(?:2[0-8]|1\d|0?[1-9]))T(2[01234]|[01]\d):[0-5]\d:[0-5]\d'
      results:
        type: array
        items:
          $ref: '#/definitions/gatorSurvey_UserResponses'
      utmSource:
        type: string
      utmMedium:
        type: string
      utmCampaign:
        type: string
      utmTerm:
        type: string
      utmContent:
        type: string
      trackingInfo:
        $ref: '#/definitions/gatorSurvey_TrackingInfo'
  gatorSurvey_UserResponses:
    type: object
    description: Paged Survey Items.
    properties:
      question:
        type: string
        description: Campaign id of GatorMail Campaign
      answer:
        type: string
        description: Campaign name of GatorMail Campaign
      questionType:
        type: string
        description: Contact id of GatorMail contact
      answers:
        type: array
        description: 'for question with multiple answers (checkbox, radio, priority list)'
        items:
          $ref: '#/definitions/gatorSurvey_UserResponsesAnswers'
  gatorSurvey_UserResponsesAnswers:
    type: object
    description: Paged Survey Items.
    properties:
      label:
        type: string
        description: lable for possible answer
      answer:
        type: string
        description: Value Given for possible answer
