swagger: "2.0"
schemes:
  - https
host: www.zoomconnect.com
basePath: /app
info:
  description: The world's greatest SMS API
  title: www.zoomconnect.com
  version: "1"
  x-apisguru-categories:
    - messaging
    - marketing
  x-logo:
    url: https://zoomconnect.com/assets/logo.png
  x-origin:
    - converter:
        url: https://github.com/lucybot/api-spec-converter
        version: 2.7.31
      format: swagger
      url: https://www.zoomconnect.com/zoom/api-docs
      version: "1.2"
  x-providerName: zoomconnect.com
  x-tags:
    - SMS
    - bulk SMS
produces:
  - application/json
  - application/xml
securityDefinitions:
  email:
    in: header
    name: email
    type: apiKey
  token:
    in: header
    name: token
    type: apiKey
tags:
  - description: Core information related to your account
    name: account
  - description: Manage contacts
    name: contacts
  - description: Manage groups
    name: groups
  - description: Manage your messages
    name: messages
  - description: Send and schedule messages
    name: sms
  - description: Manage your templates
    name: templates
  - description: (BETA) Send, schedule and manage voice messages
    name: voice
paths:
  /api/rest/v1/account/balance:
    get:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Returns your account's credit balance
      operationId: getBalance
      responses:
        "200":
          description: Success
          schema:
            $ref: "#/definitions/WebServiceAccount"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: balance
      tags:
        - account
  /api/rest/v1/account/statistics:
    get:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Returns data from the statistics report. Note that by default the statistics shown are based on the number of messages, use the calculateCreditValue should you wish to calculate the statistics based on credit value.
      operationId: getStatistics
      parameters:
        - description: "date format: dd-MM-yyyy"
          format: date-time
          in: query
          name: from
          required: false
          type: string
        - description: "date format: dd-MM-yyyy"
          format: date-time
          in: query
          name: to
          required: false
          type: string
        - description: optional email address of user to return statistics for a single user, default is to return statistics for all users if administrator, or statistics for your own account if not an administrator
          in: query
          name: userEmailAddress
          required: false
          type: string
        - description: optional campaign name
          in: query
          name: campaign
          required: false
          type: string
        - description: optionally include refunded and optout counts, default is false
          in: query
          name: includeRefundedAndOptout
          required: false
          type: boolean
        - description: optionally calculate using credit value rather than message count, default is false
          in: query
          name: calculateCreditValue
          required: false
          type: boolean
      responses:
        "200":
          description: Success
          schema:
            $ref: "#/definitions/WebServiceAccountStatistics"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: statistics
      tags:
        - account
  /api/rest/v1/account/transfer:
    post:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: "Transfers credits between two users in the same team. The <i>account email address</i> fields as well as the <i>number of credits to transfer</i> are required. "
      operationId: transfer
      parameters:
        - description: request
          in: body
          name: body
          required: false
          schema:
            $ref: "#/definitions/WebServiceTransferCreditsRequest"
      responses:
        "200":
          description: Description was not specified
          schema:
            $ref: "#/definitions/WebServiceUser"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: transfer
      tags:
        - account
  /api/rest/v1/account/user:
    get:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Find a user for a particular email address
      operationId: search
      parameters:
        - description: search by email address
          in: query
          name: searchEmail
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WebServiceUsers"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: search
      tags:
        - account
    put:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Creates a new sub-account in your team. The following fields are required <i>firstname, lastname, email address, contact number</i> and <i>password.</i>
      parameters:
        - description: request
          in: body
          name: body
          required: false
          schema:
            $ref: "#/definitions/WebServiceUser"
      responses:
        "200":
          description: Description was not specified
          schema:
            $ref: "#/definitions/WebServiceUser"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: create
      tags:
        - account
  "/api/rest/v1/account/user/{userId}":
    get:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Gets a user from a given user id
      operationId: getUser
      parameters:
        - description: userId
          format: int64
          in: path
          name: userId
          required: true
          type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WebServiceUser"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: getUser
      tags:
        - account
    post:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Updates a sub-account in your team. The following fields can be updated <i>firstname, lastname, contact number</i> and <i>password.</i>
      parameters:
        - description: userId
          format: int64
          in: path
          name: userId
          required: true
          type: integer
        - description: request
          in: body
          name: body
          required: false
          schema:
            $ref: "#/definitions/WebServiceUser"
      responses:
        "200":
          description: Description was not specified
          schema:
            $ref: "#/definitions/WebServiceUser"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: update
      tags:
        - account
  /api/rest/v1/contacts/all:
    get:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Returns all contacts
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WebServiceContacts"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: all
      tags:
        - contacts
  /api/rest/v1/contacts/create:
    post:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Creates a  contact
      parameters:
        - description: webServiceContact
          in: body
          name: body
          required: false
          schema:
            $ref: "#/definitions/WebServiceContact"
      responses:
        "200":
          description: No response was specified
          schema:
            $ref: "#/definitions/WebServiceContact"
        "201":
          description: Created
          schema:
            $ref: "#/definitions/WebServiceContact"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: create
      tags:
        - contacts
  "/api/rest/v1/contacts/{contactId}":
    delete:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Deletes a  contact
      parameters:
        - description: contactId
          in: path
          name: contactId
          required: true
          type: string
      responses:
        "200":
          description: Description was not specified
        "204":
          description: No Content
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      summary: delete
      tags:
        - contacts
    get:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Returns details for a single contact
      parameters:
        - description: contactId
          in: path
          name: contactId
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WebServiceContact"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: get
      tags:
        - contacts
    post:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Updates a  contact
      parameters:
        - description: contactId
          in: path
          name: contactId
          required: true
          type: string
        - description: webServiceContact
          in: body
          name: body
          required: false
          schema:
            $ref: "#/definitions/WebServiceContact"
      responses:
        "200":
          description: Description was not specified
          schema:
            $ref: "#/definitions/WebServiceContact"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: update
      tags:
        - contacts
  "/api/rest/v1/contacts/{contactId}/addFromGroup/{groupId}":
    get:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Remove a contact from a group
      parameters:
        - description: contactId
          in: path
          name: contactId
          required: true
          type: string
        - description: groupId
          in: path
          name: groupId
          required: true
          type: string
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: removeFromGroup
      tags:
        - contacts
    post:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Remove a contact from a group
      parameters:
        - description: contactId
          in: path
          name: contactId
          required: true
          type: string
        - description: groupId
          in: path
          name: groupId
          required: true
          type: string
      responses:
        "200":
          description: Description was not specified
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: removeFromGroup
      tags:
        - contacts
  "/api/rest/v1/contacts/{contactId}/addToGroup/{groupId}":
    get:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Add a contact to a group
      parameters:
        - description: contactId
          in: path
          name: contactId
          required: true
          type: string
        - description: groupId
          in: path
          name: groupId
          required: true
          type: string
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: addToGroup
      tags:
        - contacts
    post:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Add a contact to a group
      parameters:
        - description: contactId
          in: path
          name: contactId
          required: true
          type: string
        - description: groupId
          in: path
          name: groupId
          required: true
          type: string
      responses:
        "200":
          description: Description was not specified
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: addToGroup
      tags:
        - contacts
  /api/rest/v1/groups/all:
    get:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Returns all groups
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WebServiceGroups"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: all
      tags:
        - groups
  /api/rest/v1/groups/create:
    post:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Create a  group
      parameters:
        - description: webServiceGroup
          in: body
          name: body
          required: false
          schema:
            $ref: "#/definitions/WebServiceGroup"
      responses:
        "200":
          description: No response was specified
          schema:
            $ref: "#/definitions/WebServiceGroup"
        "201":
          description: Created
          schema:
            $ref: "#/definitions/WebServiceGroup"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: create
      tags:
        - groups
  "/api/rest/v1/groups/{groupId}":
    delete:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Deletes a  group
      parameters:
        - description: groupId
          in: path
          name: groupId
          required: true
          type: string
      responses:
        "200":
          description: Description was not specified
        "204":
          description: No Content
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      summary: delete
      tags:
        - groups
    get:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Returns details for a single group
      parameters:
        - description: groupId
          in: path
          name: groupId
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WebServiceGroup"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: get
      tags:
        - groups
    post:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Update a  group
      parameters:
        - description: groupId
          in: path
          name: groupId
          required: true
          type: string
        - description: webServiceGroup
          in: body
          name: body
          required: false
          schema:
            $ref: "#/definitions/WebServiceGroup"
      responses:
        "200":
          description: Description was not specified
          schema:
            $ref: "#/definitions/WebServiceGroup"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: update
      tags:
        - groups
  "/api/rest/v1/groups/{groupId}/addContact/{contactId}":
    get:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Add a contact to a group
      parameters:
        - description: groupId
          in: path
          name: groupId
          required: true
          type: string
        - description: contactId
          in: path
          name: contactId
          required: true
          type: string
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: addContact
      tags:
        - groups
    post:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Add a contact to a group
      parameters:
        - description: groupId
          in: path
          name: groupId
          required: true
          type: string
        - description: contactId
          in: path
          name: contactId
          required: true
          type: string
      responses:
        "200":
          description: Description was not specified
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: addContact
      tags:
        - groups
  "/api/rest/v1/groups/{groupId}/removeContact/{contactId}":
    get:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Remove a contact from a group
      parameters:
        - description: groupId
          in: path
          name: groupId
          required: true
          type: string
        - description: contactId
          in: path
          name: contactId
          required: true
          type: string
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: removeContact
      tags:
        - groups
    post:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Remove a contact from a group
      parameters:
        - description: groupId
          in: path
          name: groupId
          required: true
          type: string
        - description: contactId
          in: path
          name: contactId
          required: true
          type: string
      responses:
        "200":
          description: Description was not specified
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: removeContact
      tags:
        - groups
  /api/rest/v1/messages/all:
    get:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Returns all messages
      parameters:
        - default: 100
          description: number of elements to return at a time
          format: int32
          in: query
          name: pageSize
          required: false
          type: integer
        - default: 1
          description: page number
          format: int32
          in: query
          name: page
          required: false
          type: integer
        - description: filter by message type
          enum:
            - OUTBOUND
            - INBOUND
          in: query
          name: type
          required: false
          type: string
        - description: filter by message status
          enum:
            - SCHEDULED
            - UNKNOWN
            - SENT
            - FAILED
            - FAILED_REFUNDED
            - FAILED_OPTOUT
            - DELIVERED
          in: query
          name: status
          required: false
          type: string
        - description: "date format: yyyyMMdd"
          format: date-time
          in: query
          name: fromDateTimeSent
          required: false
          type: string
        - description: "date format: yyyyMMdd"
          format: date-time
          in: query
          name: toDateTimeSent
          required: false
          type: string
        - description: "date format: yyyyMMdd"
          format: date-time
          in: query
          name: fromDateTimeReceived
          required: false
          type: string
        - description: "date format: yyyyMMdd"
          format: date-time
          in: query
          name: toDateTimeReceived
          required: false
          type: string
        - description: phone number the message was sent from
          in: query
          name: fromNumber
          required: false
          type: string
        - description: phone number the message was sent to
          in: query
          name: toNumber
          required: false
          type: string
        - description: search matching message text
          in: query
          name: message
          required: false
          type: string
        - description: search by campaign
          in: query
          name: campaign
          required: false
          type: string
        - description: search by data field
          in: query
          name: dataField
          required: false
          type: string
        - description: return only deleted / not deleted messages
          in: query
          name: deleted
          required: false
          type: boolean
        - description: return only read / unread messages (inbox messages only)
          in: query
          name: read
          required: false
          type: boolean
        - description: return only inbox messages which are a reply to the message with the given message id
          in: query
          name: repliesToMessageId
          required: false
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WebServiceMessages"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: all
      tags:
        - messages
  /api/rest/v1/messages/analyse/full:
    post:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Returns full analysis of message
      operationId: analyse-full
      parameters:
        - description: request
          in: body
          name: body
          required: false
          schema:
            $ref: "#/definitions/WebServiceAnalyseMessageRequestMessageAndRecipientNumber"
      responses:
        "200":
          description: Description was not specified
          schema:
            $ref: "#/definitions/WebServiceAnalyseMessageResponse"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: analyse-full
      tags:
        - messages
  /api/rest/v1/messages/analyse/message-credit-cost:
    post:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Returns the number of credit which would be required to send the request message to the requested recipient number
      operationId: analyse-message-credit-cost
      parameters:
        - description: request
          in: body
          name: body
          required: false
          schema:
            $ref: "#/definitions/WebServiceAnalyseMessageRequestMessageAndRecipientNumber"
      responses:
        "200":
          description: Description was not specified
          schema:
            format: double
            type: number
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: analyse-message-credit-cost
      tags:
        - messages
  /api/rest/v1/messages/analyse/message-encoding:
    post:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Returns the message encoding that would be required to send the requested message
      operationId: analyse-message-encoding
      parameters:
        - description: request
          in: body
          name: body
          required: false
          schema:
            $ref: "#/definitions/WebServiceAnalyseMessageRequestMessageOnly"
      responses:
        "200":
          description: Description was not specified
          schema:
            type: string
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: analyse-message-encoding
      tags:
        - messages
  /api/rest/v1/messages/analyse/message-length:
    post:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Returns the number of characters the requested message consists of
      operationId: analyse-message-length
      parameters:
        - description: request
          in: body
          name: body
          required: false
          schema:
            $ref: "#/definitions/WebServiceAnalyseMessageRequestMessageOnly"
      responses:
        "200":
          description: Description was not specified
          schema:
            format: int32
            type: integer
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: analyse-message-length
      tags:
        - messages
  /api/rest/v1/messages/analyse/message-length-within-max-allowed:
    post:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Returns details for a single message
      operationId: analyse-
      parameters:
        - description: request
          in: body
          name: body
          required: false
          schema:
            $ref: "#/definitions/WebServiceAnalyseMessageRequestMessageOnly"
      responses:
        "200":
          description: Description was not specified
          schema:
            type: boolean
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: analyse-
      tags:
        - messages
  /api/rest/v1/messages/analyse/number-of-messages:
    post:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Returns the number of SMS parts which would be sent when sending the requested message
      operationId: analyse-number-of-messages
      parameters:
        - description: request
          in: body
          name: body
          required: false
          schema:
            $ref: "#/definitions/WebServiceAnalyseMessageRequestMessageOnly"
      responses:
        "200":
          description: Description was not specified
          schema:
            format: int32
            type: integer
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: analyse-number-of-messages
      tags:
        - messages
  "/api/rest/v1/messages/{messageId}":
    delete:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Deletes a  message
      parameters:
        - description: messageId
          in: path
          name: messageId
          required: true
          type: string
      responses:
        "200":
          description: Description was not specified
        "204":
          description: No Content
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      summary: delete
      tags:
        - messages
    get:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Returns details for a single message
      parameters:
        - description: messageId
          in: path
          name: messageId
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WebServiceMessage"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: get
      tags:
        - messages
  "/api/rest/v1/messages/{messageId}/markRead":
    post:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Marks a  message as read
      parameters:
        - description: messageId
          in: path
          name: messageId
          required: true
          type: string
      responses:
        "200":
          description: Description was not specified
          schema:
            $ref: "#/definitions/WebServiceMessage"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: markRead
      tags:
        - messages
    put:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Marks a  message as read
      parameters:
        - description: messageId
          in: path
          name: messageId
          required: true
          type: string
      responses:
        "200":
          description: Description was not specified
          schema:
            $ref: "#/definitions/WebServiceMessage"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: markRead
      tags:
        - messages
  "/api/rest/v1/messages/{messageId}/markUnread":
    post:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Marks a  message as unread
      parameters:
        - description: messageId
          in: path
          name: messageId
          required: true
          type: string
      responses:
        "200":
          description: Description was not specified
          schema:
            $ref: "#/definitions/WebServiceMessage"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: markUnread
      tags:
        - messages
    put:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Marks a  message as unread
      parameters:
        - description: messageId
          in: path
          name: messageId
          required: true
          type: string
      responses:
        "200":
          description: Description was not specified
          schema:
            $ref: "#/definitions/WebServiceMessage"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: markUnread
      tags:
        - messages
  /api/rest/v1/sms/send:
    get:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Returns an example of the data to POST to send a single message.
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WebServiceSendSmsRequest"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: send
      tags:
        - sms
    post:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Sends a single message. The <i>recipientNumber</i> and <i>message</i> fields are required. All other fields are optional.
      parameters:
        - description: request
          in: body
          name: body
          required: false
          schema:
            $ref: "#/definitions/WebServiceSendSmsRequest"
      responses:
        "200":
          description: Description was not specified
          schema:
            $ref: "#/definitions/WebServiceSendSmsResponse"
        "201":
          description: Created
        "400":
          description: Validation error</br></br>Code and message:<ul><li>2 - Invalid mobile number</li><li>3 - Message cannot be empty</li></ul>
          schema:
            $ref: "#/definitions/RestErrorDTO"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: send
      tags:
        - sms
  /api/rest/v1/sms/send-bulk:
    get:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Returns an example of the data to POST to send multiple messages in one transaction.
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WebServiceSendSmsRequests"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: send-bulk
      tags:
        - sms
    post:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Send multiple messages in one transaction.
      parameters:
        - description: requests
          in: body
          name: body
          required: false
          schema:
            $ref: "#/definitions/WebServiceSendSmsRequests"
      responses:
        "200":
          description: Description was not specified
          schema:
            $ref: "#/definitions/WebServiceSendSmsResponses"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: send-bulk
      tags:
        - sms
  /api/rest/v1/sms/send-url-parameters:
    get:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Send a single message using URL parameters.The <i>recipientNumber</i> and <i>message</i> parameters are required. All other parameters are optional.
      parameters:
        - description: the phone number of the recipient to send to
          in: query
          name: recipientNumber
          required: true
          type: string
        - description: the message to send
          in: query
          name: message
          required: true
          type: string
        - description: "date format: yyyyMMddHHmm"
          format: date-time
          in: query
          name: dateToSend
          required: false
          type: string
        - description: optional campaign name
          in: query
          name: campaign
          required: false
          type: string
        - description: optional extra data
          in: query
          name: dataField
          required: false
          type: string
      responses:
        "200":
          description: OK
          schema:
            type: string
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: send-url-parameters
      tags:
        - sms
    post:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Send a single message using URL parameters.The <i>recipientNumber</i> and <i>message</i> parameters are required. All other parameters are optional.
      parameters:
        - description: the phone number of the recipient to send to
          in: query
          name: recipientNumber
          required: true
          type: string
        - description: the message to send
          in: query
          name: message
          required: true
          type: string
        - description: "date format: yyyyMMddHHmm"
          format: date-time
          in: query
          name: dateToSend
          required: false
          type: string
        - description: optional campaign name
          in: query
          name: campaign
          required: false
          type: string
        - description: optional extra data
          in: query
          name: dataField
          required: false
          type: string
      responses:
        "200":
          description: Description was not specified
          schema:
            type: string
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: send-url-parameters
      tags:
        - sms
  "/api/rest/v1/sms/send-url/{token}":
    get:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: "Send a single message using your unique URL without having to authenticate using your email address or REST API token. The token required is the URL Sending token available on the developer setting page. The <i>recipientNumber</i> and <i>message</i> parameters are required. All other parameters are optional. Not that the token required here is "
      parameters:
        - description: token
          in: path
          name: token
          required: true
          type: string
        - description: the phone number of the recipient to send to
          in: query
          name: recipientNumber
          required: true
          type: string
        - description: the message to send
          in: query
          name: message
          required: true
          type: string
        - description: "date format: yyyyMMddHHmm"
          format: date-time
          in: query
          name: dateToSend
          required: false
          type: string
        - description: optional campaign name
          in: query
          name: campaign
          required: false
          type: string
        - description: optional extra data
          in: query
          name: dataField
          required: false
          type: string
      responses:
        "200":
          description: OK
          schema:
            type: string
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: send-url
      tags:
        - sms
    post:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: "Send a single message using your unique URL without having to authenticate using your email address or REST API token. The token required is the URL Sending token available on the developer setting page. The <i>recipientNumber</i> and <i>message</i> parameters are required. All other parameters are optional. Not that the token required here is "
      parameters:
        - description: token
          in: path
          name: token
          required: true
          type: string
        - description: the phone number of the recipient to send to
          in: query
          name: recipientNumber
          required: true
          type: string
        - description: the message to send
          in: query
          name: message
          required: true
          type: string
        - description: "date format: yyyyMMddHHmm"
          format: date-time
          in: query
          name: dateToSend
          required: false
          type: string
        - description: optional campaign name
          in: query
          name: campaign
          required: false
          type: string
        - description: optional extra data
          in: query
          name: dataField
          required: false
          type: string
      responses:
        "200":
          description: Description was not specified
          schema:
            type: string
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: send-url
      tags:
        - sms
  /api/rest/v1/templates/all:
    get:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Returns all templates
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WebServiceTemplates"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: all
      tags:
        - templates
  "/api/rest/v1/templates/{templateId}":
    delete:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Deletes a  template
      parameters:
        - description: templateId
          format: int64
          in: path
          name: templateId
          required: true
          type: integer
      responses:
        "200":
          description: Description was not specified
        "204":
          description: No Content
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      summary: delete
      tags:
        - templates
    get:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Returns details for a single template
      parameters:
        - description: templateId
          format: int64
          in: path
          name: templateId
          required: true
          type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WebServiceTemplate"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: get
      tags:
        - templates
  /api/rest/v1/voice/all:
    get:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Returns all voice messages
      parameters:
        - default: 100
          description: number of elements to return at a time
          format: int32
          in: query
          name: pageSize
          required: false
          type: integer
        - default: 1
          description: page number
          format: int32
          in: query
          name: page
          required: false
          type: integer
        - description: filter by message status
          enum:
            - SCHEDULED
            - UNKNOWN
            - SENT
            - FAILED
            - FAILED_REFUNDED
            - FAILED_OPTOUT
            - DELIVERED
          in: query
          name: status
          required: false
          type: string
        - description: "date format: yyyyMMdd"
          format: date-time
          in: query
          name: fromDateTimeSent
          required: false
          type: string
        - description: "date format: yyyyMMdd"
          format: date-time
          in: query
          name: toDateTimeSent
          required: false
          type: string
        - description: phone number the message was sent to
          in: query
          name: toNumber
          required: false
          type: string
        - description: search matching message text
          in: query
          name: message
          required: false
          type: string
        - description: search by campaign
          in: query
          name: campaign
          required: false
          type: string
        - description: search by data field
          in: query
          name: dataField
          required: false
          type: string
        - description: return only deleted / not deleted messages
          in: query
          name: deleted
          required: false
          type: boolean
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WebServiceVoiceMessages"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: all
      tags:
        - voice
  /api/rest/v1/voice/single-audio:
    post:
      consumes:
        - multipart/form-data
      deprecated: false
      description: Send a single audio voice message to one recipient. Note, Content-Type header must be set to multipart/form-data for this request.
      operationId: single-audio
      parameters:
        - description: audio file to play, supports MP3 or WAV format
          in: formData
          name: file
          required: true
          type: file
        - description: the phone number of the recipient to send to
          in: query
          name: recipientNumber
          required: true
          type: string
        - description: optional campaign name
          in: query
          name: campaign
          required: false
          type: string
        - description: optional extra data
          in: query
          name: dataField
          required: false
          type: string
        - description: optional number of times to retry unanswered call
          format: int32
          in: query
          name: retryCount
          required: false
          type: integer
        - description: optional minimum interval in minutes between retry attempts
          format: int32
          in: query
          name: retryMinimumInterval
          required: false
          type: integer
        - description: optional maximum interval in minutes between retry attempts
          format: int32
          in: query
          name: retryMaximumInterval
          required: false
          type: integer
      responses:
        "200":
          description: Description was not specified
          schema:
            $ref: "#/definitions/WebServiceSendVoiceMessageResponse"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: single-audio
      tags:
        - voice
  /api/rest/v1/voice/single-text:
    post:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Send a single text voice message to one recipient
      operationId: single-text
      parameters:
        - description: request
          in: body
          name: body
          required: false
          schema:
            $ref: "#/definitions/WebServiceVoiceMessageSendSingleTextRequest"
      responses:
        "200":
          description: Description was not specified
          schema:
            $ref: "#/definitions/WebServiceSendVoiceMessageResponse"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: single-text
      tags:
        - voice
  "/api/rest/v1/voice/{messageId}":
    delete:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Deletes a  message
      parameters:
        - description: messageId
          in: path
          name: messageId
          required: true
          type: string
      responses:
        "200":
          description: Description was not specified
        "204":
          description: No Content
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      summary: delete
      tags:
        - voice
    get:
      consumes:
        - application/json
        - application/xml
      deprecated: false
      description: Returns details for a single message
      parameters:
        - description: messageId
          in: path
          name: messageId
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WebServiceVoiceMessage"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: get
      tags:
        - voice
definitions:
  Link:
    properties:
      href:
        type: string
      rel:
        type: string
      templated:
        type: boolean
  RestErrorDTO:
    description: RestErrorDTO
    properties:
      code:
        format: int32
        type: integer
      developerMessage:
        type: string
      message:
        type: string
      moreInfoUrl:
        type: string
      status:
        type: string
  Void: {}
  WebServiceAccount:
    description: WebServiceAccount
    properties:
      creditBalance:
        format: double
        type: number
      links:
        items:
          $ref: "#/definitions/Link"
        type: array
  WebServiceAccountStatistics:
    description: WebServiceAccountStatistics
    properties:
      from:
        format: date-time
        type: string
      grandTotal:
        $ref: "#/definitions/WebServiceStatistics"
      showingCreditValue:
        type: boolean
      to:
        format: date-time
        type: string
      users:
        items:
          $ref: "#/definitions/WebServiceUserStatistics"
        type: array
  WebServiceAnalyseMessageRequestMessageAndRecipientNumber:
    description: WebServiceAnalyseMessageRequest
    properties:
      message:
        type: string
      recipientNumber:
        type: string
  WebServiceAnalyseMessageRequestMessageOnly:
    description: WebServiceAnalyseMessageRequest
    properties:
      message:
        type: string
      recipientNumber:
        type: string
  WebServiceAnalyseMessageResponse:
    description: WebServiceAnalyseMessageResponse
    properties:
      characterAnalysis:
        items:
          items: {}
          type: array
        type: array
      messageCreditCost:
        format: double
        type: number
      messageEncoding:
        type: string
      messageLength:
        format: int32
        type: integer
      messageLengthWithinMaximumAllowed:
        type: boolean
      numberOfMessages:
        format: int32
        type: integer
  WebServiceCampaignStatistics:
    description: WebServiceCampaignStatistics
    properties:
      campaign:
        type: string
      statistics:
        $ref: "#/definitions/WebServiceStatistics"
  WebServiceContact:
    description: WebServiceContact
    properties:
      contactId:
        type: string
      contactNumber:
        type: string
      firstName:
        type: string
      lastName:
        type: string
      links:
        items:
          $ref: "#/definitions/Link"
        type: array
      title:
        type: string
  WebServiceContactLink:
    description: WebServiceContactLink
    properties:
      contactId:
        type: string
      links:
        items:
          $ref: "#/definitions/Link"
        type: array
  WebServiceContacts:
    description: WebServiceContacts
    properties:
      links:
        items:
          $ref: "#/definitions/Link"
        type: array
      webServiceContacts:
        items:
          $ref: "#/definitions/WebServiceContact"
        type: array
  WebServiceGroup:
    description: WebServiceGroup
    properties:
      groupId:
        type: string
      links:
        items:
          $ref: "#/definitions/Link"
        type: array
      name:
        type: string
  WebServiceGroups:
    description: WebServiceGroups
    properties:
      links:
        items:
          $ref: "#/definitions/Link"
        type: array
      webServiceGroups:
        items:
          $ref: "#/definitions/WebServiceGroup"
        type: array
  WebServiceMessage:
    description: WebServiceMessage
    properties:
      campaign:
        type: string
      contact:
        $ref: "#/definitions/WebServiceContactLink"
      creditCost:
        format: double
        type: number
      dateTimeReceived:
        format: date-time
        type: string
      dateTimeScheduled:
        format: date-time
        type: string
      dateTimeSent:
        format: date-time
        type: string
      deleted:
        type: boolean
      fromNumber:
        type: string
      links:
        items:
          $ref: "#/definitions/Link"
        type: array
      message:
        type: string
      messageId:
        type: string
      messageStatus:
        type: string
      messageType:
        type: string
      numberOfMessages:
        format: int32
        type: integer
      read:
        type: boolean
      repliedToMessage:
        $ref: "#/definitions/WebServiceMessageLink"
      toNumber:
        type: string
      userDataField:
        type: string
  WebServiceMessageLink:
    description: WebServiceMessageLink
    properties:
      links:
        items:
          $ref: "#/definitions/Link"
        type: array
      messageId:
        type: string
  WebServiceMessages:
    description: WebServiceMessages
    properties:
      elements:
        format: int32
        type: integer
      links:
        items:
          $ref: "#/definitions/Link"
        type: array
      page:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      totalElements:
        format: int64
        type: integer
      totalPages:
        format: int32
        type: integer
      webServiceMessages:
        items:
          $ref: "#/definitions/WebServiceMessage"
        type: array
  WebServiceSendSmsRequest:
    description: WebServiceSendSmsRequest
    properties:
      campaign:
        type: string
      dataField:
        type: string
      dateToSend:
        format: date-time
        type: string
      message:
        type: string
      recipientNumber:
        type: string
  WebServiceSendSmsRequests:
    description: WebServiceSendSmsRequests
    properties:
      defaultDateToSend:
        format: date-time
        type: string
      messagesPerMinute:
        format: int32
        type: integer
      sendSmsRequests:
        items:
          $ref: "#/definitions/WebServiceSendSmsRequest"
        type: array
  WebServiceSendSmsResponse:
    description: WebServiceSendSmsResponse
    properties:
      error:
        type: string
      messageId:
        type: string
  WebServiceSendSmsResponses:
    description: WebServiceSendSmsResponses
    properties:
      sendSmsResponses:
        items:
          $ref: "#/definitions/WebServiceSendSmsResponse"
        type: array
  WebServiceSendVoiceMessageResponse:
    description: WebServiceSendVoiceMessageResponse
    properties:
      error:
        type: string
      voiceMessageId:
        type: string
  WebServiceStatistics:
    description: WebServiceStatistics
    properties:
      delivered:
        format: double
        type: number
      failed:
        format: double
        type: number
      failedOptout:
        format: double
        type: number
      failedRefunded:
        format: double
        type: number
      sent:
        format: double
        type: number
      total:
        format: double
        type: number
  WebServiceTemplate:
    description: WebServiceTemplate
    properties:
      data:
        type: string
      links:
        items:
          $ref: "#/definitions/Link"
        type: array
      name:
        type: string
      templateId:
        format: int64
        type: integer
  WebServiceTemplates:
    description: WebServiceTemplates
    properties:
      links:
        items:
          $ref: "#/definitions/Link"
        type: array
      webServiceTemplates:
        items:
          $ref: "#/definitions/WebServiceTemplate"
        type: array
  WebServiceTransferCreditsRequest:
    description: WebServiceTransferCreditsRequest
    properties:
      numberOfCreditsToTransfer:
        format: int32
        type: integer
      transferFromEmailAddress:
        type: string
      transferToEmailAddress:
        type: string
  WebServiceUser:
    description: WebServiceUser
    properties:
      company:
        type: string
      contactNumber:
        type: string
      creditBalance:
        format: double
        type: number
      emailAddress:
        type: string
      firstName:
        type: string
      lastName:
        type: string
      password:
        type: string
      userId:
        format: int64
        type: integer
  WebServiceUserStatistics:
    description: WebServiceUserStatistics
    properties:
      campaigns:
        items:
          $ref: "#/definitions/WebServiceCampaignStatistics"
        type: array
      total:
        $ref: "#/definitions/WebServiceStatistics"
      user:
        $ref: "#/definitions/WebServiceUser"
  WebServiceUsers:
    description: WebServiceUsers
    properties:
      webServiceUserList:
        items:
          $ref: "#/definitions/WebServiceUser"
        type: array
  WebServiceVoiceMessage:
    description: WebServiceVoiceMessage
    properties:
      audioFileUrl:
        type: string
      campaign:
        type: string
      dateTimeSent:
        format: date-time
        type: string
      deleted:
        type: boolean
      language:
        type: string
      links:
        items:
          $ref: "#/definitions/Link"
        type: array
      message:
        type: string
      messageStatus:
        type: string
      toNumber:
        type: string
      userDataField:
        type: string
      voiceMessageId:
        type: string
  WebServiceVoiceMessageSendSingleTextRequest:
    description: WebServiceVoiceMessageSendSingleTextRequest
    properties:
      campaign:
        type: string
      dataField:
        type: string
      language:
        type: string
      message:
        type: string
      recipientNumber:
        type: string
      retryCount:
        format: int32
        type: integer
      retryMaximumInterval:
        format: int32
        type: integer
      retryMinimumInterval:
        format: int32
        type: integer
  WebServiceVoiceMessages:
    description: WebServiceVoiceMessages
    properties:
      elements:
        format: int32
        type: integer
      links:
        items:
          $ref: "#/definitions/Link"
        type: array
      messages:
        items:
          $ref: "#/definitions/WebServiceVoiceMessage"
        type: array
      page:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      totalElements:
        format: int64
        type: integer
      totalPages:
        format: int32
        type: integer
