swagger: "2.0"
schemes:
  - https
host: api.ritc.io
basePath: /
info:
  description: Rules in the Cloud
  title: Ritc
  version: 1.0.0
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://pbs.twimg.com/profile_images/664480221534552064/CwdeYGxs_400x400.jpg
  x-origin:
    - format: swagger
      url: http://www.ritc.io/openapi/ritc.swagger.json
      version: "2.0"
  x-providerName: ritc.io
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  Authorization:
    description: HTTP Basic Authentication/API Key. Basic Auth requires a username and a password. For the username, use a valid API key. Ritc accepts the API key as both plaintext and base64 encoded. Remember that you must append a colon after the api key in order to avoid being prompted for a password. The format is Base64encode(api-key:)
    in: header
    name: Authorization
    type: apiKey
    x-testValue: ""
paths:
  /actions:
    get:
      description: List actions
      operationId: listActions
      parameters: []
      responses:
        "200":
          description: A list of actions in an app
          schema:
            items:
              $ref: "#/definitions/ActionShortResponse"
            type: array
        "400":
          description: Invalid Input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Actions
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    post:
      description: Create a new action
      operationId: addAction
      parameters:
        - description: Action information
          in: body
          name: Action Object
          required: true
          schema:
            $ref: "#/definitions/Action59"
      responses:
        "200":
          description: An action was created
          schema:
            $ref: "#/definitions/ActionShortResponse"
        "400":
          description: Invalid Input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Actions
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  "/actions/{action_id}":
    delete:
      description: Delete an action
      operationId: removeAction
      parameters:
        - description: Id of action
          in: path
          name: action_id
          required: true
          type: string
      responses:
        "200":
          description: The action was successfully removed
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Actions
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    get:
      description: Get an action
      operationId: getAction
      parameters:
        - description: Id of action_id
          in: path
          name: action_id
          required: true
          type: string
      responses:
        "200":
          description: Detailed information about an action
          schema:
            items:
              $ref: "#/definitions/ActionFullResponse"
            type: array
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Actions
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    patch:
      description: Update information about a specific action
      operationId: updateAction
      parameters:
        - description: Id of user
          in: path
          name: action_id
          required: true
          type: string
        - description: Action information
          in: body
          name: Action Object
          required: true
          schema:
            $ref: "#/definitions/Action59"
      responses:
        "200":
          description: Information about the action was updated successfully
          schema:
            $ref: "#/definitions/ActionShortResponse"
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Actions
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  /admin:
    get:
      description: Ping the server
      operationId: admin
      parameters: []
      responses:
        "200":
          description: Ritc is up
          schema:
            type: object
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - admin
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  /admin/log:
    post:
      description: Log a message
      operationId: logInRitc
      parameters:
        - description: Log message
          in: body
          name: message
          required: true
          schema:
            type: object
      responses:
        "200":
          description: Message logged
          schema:
            type: object
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - admin
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  /admin/ping:
    get:
      description: Ping the server
      operationId: pingRitc
      parameters: []
      responses:
        "200":
          description: Ritc is up
          schema:
            type: object
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - admin
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  /apps:
    get:
      description: Get apps information
      operationId: listApps
      parameters: []
      responses:
        "200":
          description: A list of apps in an org
          schema:
            items:
              $ref: "#/definitions/AppResponse"
            type: array
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Apps
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    post:
      description: Create a new app
      operationId: addApp
      parameters:
        - description: App information
          in: body
          name: App Object
          required: true
          schema:
            $ref: "#/definitions/App"
      responses:
        "200":
          description: An app was created
          schema:
            $ref: "#/definitions/AppResponse"
        "400":
          description: Invalid Input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Apps
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  /apps/channels/users:
    get:
      description: Get app channels
      operationId: listAppChannels
      parameters: []
      responses:
        "200":
          description: List of all channels in an app
          schema:
            items:
              $ref: "#/definitions/AppChannelResponse"
            type: array
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Apps
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  "/apps/channels/{channel_id}/users":
    get:
      description: Get users of a specified channel
      operationId: listAppChannelUsers
      parameters:
        - description: Id of Channel
          in: path
          name: channel_id
          required: true
          type: string
      responses:
        "200":
          description: Detailed information about users of a specified channel
          schema:
            items:
              $ref: "#/definitions/AppChannelResponse"
            type: array
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Apps
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  "/apps/channels/{channel_id}/users/{user_id}":
    get:
      description: Get user of a specified channel
      operationId: getAppChannelUser
      parameters:
        - description: Id of Channel
          in: path
          name: channel_id
          required: true
          type: string
        - description: Id of User
          in: path
          name: user_id
          required: true
          type: string
      responses:
        "200":
          description: Detailed information about a specified user of a specified channel
          schema:
            items:
              $ref: "#/definitions/AppChannelResponse"
            type: array
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Apps
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    post:
      description: Create user channel
      operationId: addAppChannelUser
      parameters:
        - description: Id of Channel
          in: path
          name: channel_id
          required: true
          type: string
        - description: Id of User
          in: path
          name: user_id
          required: true
          type: string
      responses:
        "200":
          description: User was assigned to a channel in in app
          schema:
            $ref: "#/definitions/AppChannelResponse"
        "400":
          description: Invalid Input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Apps
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  /apps/ext/api/credentials:
    get:
      description: Get external credentials
      operationId: listChannelExternalCredentials
      parameters: []
      responses:
        "200":
          description: Detailed information about external credentials
          schema:
            items:
              $ref: "#/definitions/AppExternalCredentialsResponse"
            type: array
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Apps
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    post:
      description: Create new external credentials
      operationId: addChannelExternalCredentials
      parameters:
        - description: App_External_Credentials information
          in: body
          name: App_External_Credentials Object
          required: true
          schema:
            $ref: "#/definitions/AppExternalCredentials"
      responses:
        "200":
          description: External credentials created
          schema:
            $ref: "#/definitions/AppExternalCredentialsResponse"
        "400":
          description: Invalid Input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Apps
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  "/apps/ext/api/credentials/{channel_id}":
    delete:
      description: Delete credentials for a channel
      operationId: removeChannelExternalCredentials
      parameters:
        - description: Id of Channel
          in: path
          name: channel_id
          required: true
          type: string
      responses:
        "200":
          description: The credentials for a channel were successfully removed
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Apps
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    get:
      description: Get credentials for a channel in an app
      operationId: getChannelExternalCredentials
      parameters:
        - description: Id of Channel
          in: path
          name: channel_id
          required: true
          type: string
      responses:
        "200":
          description: Credentials for a channel in an app
          schema:
            items:
              $ref: "#/definitions/AppExternalCredentialsResponse"
            type: array
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Apps
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    patch:
      description: Update credentials for a channel
      operationId: updateChannelExternalCredentials
      parameters:
        - description: Id of Channel
          in: path
          name: channel_id
          required: true
          type: string
        - description: App_External_Credentials information
          in: body
          name: App_External_Credentials Object
          required: true
          schema:
            $ref: "#/definitions/AppExternalCredentials"
      responses:
        "200":
          description: Information about the channel credentials was updated successfully
          schema:
            $ref: "#/definitions/AppExternalCredentialsResponse"
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Apps
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  "/apps/rulegroup/run/{rule_id_list}":
    post:
      description: Run specified rule group in the app
      operationId: runRuleGroup
      parameters:
        - description: Ids of rules in the group, separated by commas, no spaces
          in: path
          name: rule_id_list
          required: true
          type: string
        - description: Initial data
          in: body
          name: initial_data
          required: false
          schema:
            type: object
        - description: Do not continue with remaining rules after a rule fires
          in: query
          name: break_when_rule_fires
          required: false
          type: boolean
      responses:
        "200":
          description: "Execution of specified rules in the app (for user #1)"
          schema:
            items:
              $ref: "#/definitions/RuleResults"
            type: array
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Apps
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  /apps/rules/run:
    post:
      description: Run active app rules
      operationId: runApp
      parameters:
        - description: Initial data
          in: body
          name: initial_data
          required: false
          schema:
            type: object
        - description: Do not continue with remaining rules after a rule fires
          in: query
          name: break_when_rule_fires
          required: false
          type: boolean
      responses:
        "200":
          description: "Execution of active rules in the app (for user #1)"
          schema:
            items:
              $ref: "#/definitions/RuleResults"
            type: array
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Apps
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  "/apps/{app_id}":
    delete:
      description: Delete an app
      operationId: removeApp
      parameters:
        - description: Id of App
          in: path
          name: app_id
          required: true
          type: string
      responses:
        "200":
          description: The app was successfully removed
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Apps
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    get:
      description: Get app information
      operationId: getApp
      parameters:
        - description: Id of App
          in: path
          name: app_id
          required: true
          type: string
      responses:
        "200":
          description: Detailed information about an app
          schema:
            items:
              $ref: "#/definitions/AppResponse"
            type: array
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Apps
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    patch:
      description: Update an app
      operationId: updateApp
      parameters:
        - description: Id of app
          in: path
          name: app_id
          required: true
          type: string
        - description: App information
          in: body
          name: App Object
          required: true
          schema:
            $ref: "#/definitions/App"
      responses:
        "200":
          description: Information about the app was updated successfully
          schema:
            $ref: "#/definitions/AppResponse"
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Apps
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  /channels:
    get:
      description: Retrieve Channels
      operationId: listChannels
      parameters: []
      responses:
        "200":
          description: A list of channels available to a logged-in user
          schema:
            items:
              $ref: "#/definitions/ChannelResponse"
            type: array
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Channels
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    post:
      description: Create a channel
      operationId: addChannel
      parameters:
        - description: Channel information
          in: body
          name: Channel Object
          required: true
          schema:
            $ref: "#/definitions/Channel"
      responses:
        "200":
          description: A private channel was created
          schema:
            $ref: "#/definitions/ChannelResponse"
        "400":
          description: Invalid Input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Channels
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  /channels/anonymous:
    get:
      description: Retrieve Channels anonymously
      operationId: listAnonymousChannels
      parameters: []
      responses:
        "200":
          description: A list of channels available to an anonymous user
          schema:
            items:
              $ref: "#/definitions/ChannelResponse"
            type: array
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Channels
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  "/channels/{channel_id}":
    delete:
      description: Delete a channel
      operationId: removeChannel
      parameters:
        - description: Id of Channel
          in: path
          name: channel_id
          required: true
          type: string
      responses:
        "200":
          description: The channel was successfully removed
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Channels
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    get:
      description: Get channel information
      operationId: getChannel
      parameters:
        - description: Id of Channel
          in: path
          name: channel_id
          required: true
          type: string
      responses:
        "200":
          description: Detailed information about a channel
          schema:
            items:
              $ref: "#/definitions/ChannelResponse"
            type: array
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Channels
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    patch:
      description: Update a channel
      operationId: updateChannel
      parameters:
        - description: Id of Channel
          in: path
          name: channel_id
          required: true
          type: string
        - description: Channel information
          in: body
          name: Channel Object
          required: true
          schema:
            $ref: "#/definitions/Rule"
      responses:
        "200":
          description: Information about the channel was updated successfully
          schema:
            $ref: "#/definitions/ChannelResponse"
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Channels
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  "/channels/{channel_id}/functions":
    get:
      description: Retrieve Channel Functions
      operationId: listChannelFunctions
      parameters:
        - description: Id of Channel
          in: path
          name: channel_id
          required: true
          type: string
      responses:
        "200":
          description: A list of functions available in a channel
          schema:
            items:
              $ref: "#/definitions/FunctionResponse"
            type: array
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Channels
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    post:
      description: Create a channel function
      operationId: addChannelFunction
      parameters:
        - description: Id of Channel
          in: path
          name: channel_id
          required: true
          type: string
        - description: Channel Function information
          in: body
          name: Channel Function Object
          required: true
          schema:
            $ref: "#/definitions/Function7"
      responses:
        "200":
          description: A private channel function  was created
          schema:
            $ref: "#/definitions/FunctionResponse"
        "400":
          description: Invalid Input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Channels
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  "/channels/{channel_id}/functions/{function_id}":
    get:
      description: Get channel function information
      operationId: getChannelFunction
      parameters:
        - description: Id of Channel
          in: path
          name: channel_id
          required: true
          type: string
        - description: Id of Channel Function
          in: path
          name: function_id
          required: true
          type: string
      responses:
        "200":
          description: Detailed information about a channel function
          schema:
            items:
              $ref: "#/definitions/FunctionResponse"
            type: array
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Channels
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  /orgs:
    post:
      description: Create an org
      operationId: addOrganization
      parameters:
        - description: Org information
          in: body
          name: Org Object
          required: true
          schema:
            $ref: "#/definitions/Org"
      responses:
        "200":
          description: An org was successfully created
          schema:
            items:
              $ref: "#/definitions/OrgResponse"
            type: array
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Orgs
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  /orgs/me:
    get:
      description: Get org information
      operationId: getMyOrganization
      parameters: []
      responses:
        "200":
          description: Detailed information about an org
          schema:
            items:
              $ref: "#/definitions/OrgResponse"
            type: array
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Orgs
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  /rules:
    get:
      description: List rules
      operationId: listRules
      parameters: []
      responses:
        "200":
          description: A list of rules in an app
          schema:
            items:
              $ref: "#/definitions/RuleShortResponse"
            type: array
        "400":
          description: Invalid Input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Rules
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    post:
      description: Create a new rule
      operationId: addRule
      parameters:
        - description: Rule information
          in: body
          name: Rule Object
          required: true
          schema:
            $ref: "#/definitions/Rule"
      responses:
        "200":
          description: A rule was created
          schema:
            $ref: "#/definitions/RuleFullResponse"
        "400":
          description: Invalid Input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Rules
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  "/rules/{rule_id}":
    delete:
      description: Delete a rule
      operationId: removeRule
      parameters:
        - description: Id of rule
          in: path
          name: rule_id
          required: true
          type: string
      responses:
        "200":
          description: The rule was successfully removed
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Rules
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    get:
      description: Get a rule
      operationId: getRule
      parameters:
        - description: Id of rule
          in: path
          name: rule_id
          required: true
          type: string
      responses:
        "200":
          description: Detailed information about a rule
          schema:
            items:
              $ref: "#/definitions/RuleFullResponse"
            type: array
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Rules
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    patch:
      description: Update information about a specific rule
      operationId: updateRule
      parameters:
        - description: Id of user
          in: path
          name: rule_id
          required: true
          type: string
        - description: Rule information
          in: body
          name: Rule Object
          required: true
          schema:
            $ref: "#/definitions/Rule"
      responses:
        "200":
          description: Information about the rule was updated successfully
          schema:
            $ref: "#/definitions/RuleFullResponse"
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Rules
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  "/rules/{rule_id}/run":
    post:
      description: Run a rule
      operationId: runRule
      parameters:
        - description: Id of rule
          in: path
          name: rule_id
          required: true
          type: string
        - description: Initial data
          in: body
          name: initial_data
          required: false
          schema:
            type: object
      responses:
        "200":
          description: A rule ran successfully
          schema:
            type: object
        "400":
          description: Invalid Input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Rules
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  /triggers:
    get:
      description: Triggers in an app
      operationId: listTriggers
      parameters: []
      responses:
        "200":
          description: A list of triggers in an app
          schema:
            items:
              $ref: "#/definitions/TriggerShortResponse"
            type: array
        "400":
          description: Invalid Input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Triggers
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    post:
      description: Create a new trigger in an app
      operationId: addTrigger
      parameters:
        - description: Trigger parameters and configuration
          in: body
          name: Trigger Object
          required: true
          schema:
            $ref: "#/definitions/Trigger54"
      responses:
        "200":
          description: A trigger was successfully created
          schema:
            $ref: "#/definitions/TriggerShortResponse"
        "400":
          description: Invalid Input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Triggers
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  "/triggers/{trigger_id}":
    delete:
      description: Delete a trigger
      operationId: removeTrigger
      parameters:
        - description: Id of Trigger
          in: path
          name: trigger_id
          required: true
          type: string
      responses:
        "200":
          description: The trigger was successfully removed
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Triggers
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    get:
      description: Get a trigger
      operationId: getTrigger
      parameters:
        - description: Id of Trigger
          in: path
          name: trigger_id
          required: true
          type: string
      responses:
        "200":
          description: Detailed information about a trigger
          schema:
            items:
              $ref: "#/definitions/TriggerFullResponse"
            type: array
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Triggers
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    patch:
      description: Update a trigger
      operationId: updateTrigger
      parameters:
        - description: Id of user
          in: path
          name: trigger_id
          required: true
          type: string
        - description: Trigger information
          in: body
          name: Trigger Object
          required: true
          schema:
            $ref: "#/definitions/Trigger54"
      responses:
        "200":
          description: Information about the trigger was updated successfully
          schema:
            $ref: "#/definitions/TriggerShortResponse"
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Triggers
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  /users:
    get:
      description: Users
      operationId: listAppUsers
      parameters: []
      responses:
        "200":
          description: A list of App Users in an app
          schema:
            items:
              $ref: "#/definitions/AppUserResponse"
            type: array
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Users
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    post:
      description: Create a new App User
      operationId: addAppUser
      parameters:
        - description: App User information
          in: body
          name: App User Object
          required: true
          schema:
            $ref: "#/definitions/AppUser"
      responses:
        "200":
          description: An App User was created
          schema:
            $ref: "#/definitions/AppUserResponse"
        "400":
          description: Unexpected error
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Users
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  /users/admin:
    get:
      description: Admin users
      operationId: listAdminUsers
      parameters: []
      responses:
        "200":
          description: A list of admin users in an app
          schema:
            items:
              $ref: "#/definitions/AdminUserResponse"
            type: array
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Users
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    post:
      description: Create a new admin user
      operationId: addAdminUser
      parameters:
        - description: Admin User information
          in: body
          name: Admin_User Object
          required: true
          schema:
            $ref: "#/definitions/AdminUser"
      responses:
        "200":
          description: An admin user was created
          schema:
            $ref: "#/definitions/AdminUserResponse"
        "400":
          description: Unexpected error
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Users
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  "/users/admin/{user_id}":
    delete:
      description: Remove an admin user
      operationId: removeAdminUser
      parameters:
        - description: Id of Admin_User
          in: path
          name: user_id
          required: true
          type: string
      responses:
        "200":
          description: The admin user was successfully removed
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Users
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    get:
      description: Get an admin user
      operationId: getAdminUser
      parameters:
        - description: Id of Admin_User
          in: path
          name: user_id
          required: true
          type: string
      responses:
        "200":
          description: Detailed information about an admin user
          schema:
            items:
              $ref: "#/definitions/AdminUserResponse"
            type: array
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Users
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    patch:
      description: Update information about an admin user
      operationId: updateAdminUser
      parameters:
        - description: Id of user
          in: path
          name: user_id
          required: true
          type: string
        - description: Admin User information
          in: body
          name: Admin_User Object
          required: true
          schema:
            $ref: "#/definitions/AdminUser"
      responses:
        "200":
          description: Information about the admin user was updated successfully
          schema:
            $ref: "#/definitions/AdminUserResponse"
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Users
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  "/users/authenticate/{user_id}/channel/{channel_id}":
    post:
      description: Authenticate a user for a channel
      operationId: authenticateAppUserForChannel
      parameters:
        - description: Id of User
          in: path
          name: user_id
          required: true
          type: string
        - description: Id of Channel
          in: path
          name: channel_id
          required: true
          type: string
      responses:
        "200":
          description: Authorize url to be sent an authorize request
          schema:
            items:
              $ref: "#/definitions/AuthorizeUrlResponse"
            type: array
        "400":
          description: Invalid Input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Users
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  "/users/{user_id}":
    delete:
      description: Remove a user
      operationId: removeAppUser
      parameters:
        - description: Id of user
          in: path
          name: user_id
          required: true
          type: string
      responses:
        "200":
          description: The user was successfully removed
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Users
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    get:
      description: Get an App User
      operationId: getAppUser
      parameters:
        - description: Id of App User
          in: path
          name: user_id
          required: true
          type: string
      responses:
        "200":
          description: Detailed information about an App User
          schema:
            items:
              $ref: "#/definitions/AppUserResponse"
            type: array
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Users
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    patch:
      description: Update information about an App User
      operationId: updateAppUser
      parameters:
        - description: Id of user
          in: path
          name: user_id
          required: true
          type: string
        - description: App User information
          in: body
          name: App User Object
          required: true
          schema:
            $ref: "#/definitions/AppUser"
      responses:
        "200":
          description: Information about the user was updated successfully
          schema:
            $ref: "#/definitions/AppUserResponse"
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Users
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  "/users/{user_id}/channels":
    get:
      description: Channels available to a User
      operationId: listAppUserChannels
      parameters:
        - description: Id of user
          in: path
          name: user_id
          required: true
          type: string
      responses:
        "200":
          description: A list of channels available to a specific user
          schema:
            items:
              $ref: "#/definitions/UserChannel"
            type: array
        "400":
          description: Invalid Input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Users
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    post:
      description: Assign a channel to a user
      operationId: addAppUserToChannel
      parameters:
        - description: Id of user
          in: path
          name: user_id
          required: true
          type: string
        - description: Id of Channel
          in: body
          name: channel_id
          required: true
          schema:
            type: string
      responses:
        "200":
          description: A channel was assigned to a user
          schema:
            $ref: "#/definitions/UserChannel"
        "400":
          description: Invalid Input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Users
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  "/users/{user_id}/channels/{channel_id}":
    delete:
      description: Remove a user channel assignment
      operationId: removeAppUserFromChannel
      parameters:
        - description: Id of User
          in: path
          name: user_id
          required: true
          type: string
        - description: Id of Channel
          in: path
          name: channel_id
          required: true
          type: string
      responses:
        "200":
          description: The channel was successfully removed from the user
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Users
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    get:
      description: Get a user channel
      operationId: getAppUserChannel
      parameters:
        - description: Id of User
          in: path
          name: user_id
          required: true
          type: string
        - description: Id of Channel
          in: path
          name: channel_id
          required: true
          type: string
      responses:
        "200":
          description: Detailed information about a specific channel for a specific user
          schema:
            items:
              $ref: "#/definitions/UserChannel"
            type: array
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Users
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  "/users/{user_id}/rules":
    get:
      description: Rules for a User
      operationId: listAppUserRules
      parameters:
        - description: Id of user
          in: path
          name: user_id
          required: true
          type: string
      responses:
        "200":
          description: A list of rules applying to a specific user
          schema:
            items:
              $ref: "#/definitions/RuleShortResponse"
            type: array
        "400":
          description: Invalid Input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Users
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  "/users/{user_id}/rules/{rule_id}":
    delete:
      description: Remove a rule user
      operationId: removeAppUserFromRule
      parameters:
        - description: Id of User
          in: path
          name: user_id
          required: true
          type: string
        - description: Id of Rule
          in: path
          name: rule_id
          required: true
          type: string
      responses:
        "200":
          description: The rule was successfully removed from the system
        "400":
          description: Invalid input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Users
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    get:
      description: Get a user
      operationId: getAppUserRule
      parameters:
        - description: Id of User
          in: path
          name: user_id
          required: true
          type: string
        - description: Id of Rule
          in: path
          name: rule_id
          required: true
          type: string
      responses:
        "200":
          description: Detailed information about a rule
          schema:
            items:
              $ref: "#/definitions/RuleFullResponse"
            type: array
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Users
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
    post:
      description: Assign a user to a rule
      operationId: addAppUserToRule
      parameters:
        - description: Id of User
          in: path
          name: user_id
          required: true
          type: string
        - description: Id of Rule
          in: path
          name: rule_id
          required: true
          type: string
      responses:
        "200":
          description: A rule was assigned to the user
          schema:
            $ref: "#/definitions/RuleShortResponse"
        "400":
          description: Invalid Input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Users
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
  "/users/{user_id}/rules/{rule_id}/run":
    post:
      description: Run rule for a user
      operationId: runRuleForAppUser
      parameters:
        - description: Id of User
          in: path
          name: user_id
          required: true
          type: string
        - description: Id of Rule
          in: path
          name: rule_id
          required: true
          type: string
      responses:
        "200":
          description: A rule ran successfully for a user
          schema:
            type: object
        "400":
          description: Invalid Input
          schema: {}
        default:
          description: Unexpected error
          schema: {}
      security:
        - Authorization: []
      tags:
        - Users
      x-operation-settings:
        AllowDynamicFormParameters: false
        AllowDynamicQueryParameters: false
        CollectParameters: false
        IsMultiContentStreaming: false
      x-unitTests: []
definitions:
  Action:
    properties:
      channelId:
        type: string
      createdDate:
        description: The date the rule was created
        type: string
      description:
        type: string
      functionId:
        type: string
      id:
        type: string
      modifiedDate:
        description: The date the rule was modified
        type: string
      name:
        type: string
      status:
        $ref: "#/definitions/Status"
    title: Action
    type: object
  Action59:
    properties:
      channelId:
        description: Id of channel used by action
        format: int32
        type: integer
      codes:
        description: Object containing named Javascript code sets
        type: object
      desc:
        description: Action description
        type: string
      functionId:
        description: Hash id of channel function used by action
        type: string
      name:
        description: Action name
        type: string
      parameters:
        description: Object containing channel-defined action parameters
        type: object
    required:
      - name
      - channelId
      - functionId
    title: Action59
    type: object
  ActionFullResponse:
    properties:
      channelId:
        format: int32
        type: integer
      codes:
        type: object
      createdDate:
        description: The date the action was created
        type: string
      description:
        description: Action description
        type: string
      functionId:
        type: string
      id:
        format: int32
        type: integer
      modifiedDate:
        description: The date the action was modified
        type: string
      name:
        description: Action name
        type: string
      parameters:
        type: object
      status:
        $ref: "#/definitions/Status"
    title: Action_Full_Response
    type: object
  ActionShortResponse:
    properties:
      channelId:
        type: string
      createdDate:
        description: The date the action was created
        type: string
      description:
        description: Action description
        type: string
      functionId:
        type: string
      id:
        type: string
      modifiedDate:
        description: The date the action was modified
        type: string
      name:
        description: Action name
        type: string
      status:
        $ref: "#/definitions/Status"
    title: Action_Short_Response
    type: object
  AdminUser:
    properties:
      email:
        description: Admin User email address
        type: string
      password:
        description: Admin User password
        type: string
      type:
        $ref: "#/definitions/Type41"
    title: Admin_User
    type: object
  AdminUserResponse:
    properties:
      createdDate:
        description: The date the admin user was created
        type: string
      email:
        description: Admin User email address
        type: string
      id:
        format: int32
        type: integer
      modifiedDate:
        description: The date the admin user was modified
        type: string
      name:
        description: Admin User name
        type: string
      status:
        $ref: "#/definitions/Status"
        description: Indicates the status of an Admin User
    title: Admin_User_Response
    type: object
  ApiType:
    enum:
      - Internal
      - REST
      - SDK
    title: ApiType
    type: string
  App:
    properties:
      desc:
        description: App description
        type: string
      name:
        description: App name
        type: string
    title: App
    type: object
  AppChannelResponse:
    properties:
      channelId:
        description: Channel Id
        format: int32
        type: integer
      createdDate:
        description: The date the user was created
        type: string
      id:
        format: int32
        type: integer
      status:
        $ref: "#/definitions/Status"
        description: Assignment status
      userId:
        description: Id of App User assigned to Channel
        format: int32
        type: integer
    title: App_Channel_Response
    type: object
  AppExternalCredentials:
    properties:
      authType:
        $ref: "#/definitions/AuthType"
      channel_id:
        type: string
      credentials:
        type: object
      name:
        description: App external credentials api name
        type: string
    title: App_External_Credentials
    type: object
  AppExternalCredentialsResponse:
    properties:
      authType:
        $ref: "#/definitions/AuthType"
      channel_id:
        type: string
      credentials:
        type: object
      id:
        type: string
      name:
        description: App external credentials api name
        type: string
    title: App_External_Credentials_Response
    type: object
  AppResponse:
    properties:
      apiKey:
        description: App ApiKey
        type: string
      createdDate:
        description: The date the app was created
        type: string
      description:
        description: App description
        type: string
      id:
        type: string
      modifiedDate:
        description: The date the app was modified
        type: string
      name:
        description: App name
        type: string
      status:
        $ref: "#/definitions/Status"
    title: App_Response
    type: object
  AppUser:
    properties:
      config:
        description: Object containing user-defined app user configuration
        type: object
      name:
        description: Display name of App User
        type: string
      password:
        description: App User password
        type: string
    title: App_User
    type: object
  AppUserResponse:
    properties:
      createdDate:
        description: The date the user was created
        type: string
      description:
        description: Description of App User
        type: string
      id:
        description: Id of App User
        type: string
      modifiedDate:
        description: The date the user was modified
        type: string
      name:
        description: Display name of App User
        type: string
      status:
        $ref: "#/definitions/Status"
        description: App User status
    title: App_User_Response
    type: object
  AuthType:
    enum:
      - apikey
      - basic
      - none
      - oauth2
    title: AuthType
    type: string
  AuthorizeUrlResponse:
    properties:
      url:
        type: string
    title: Authorize_Url_Response
    type: object
  Channel:
    properties:
      description:
        description: Channel description
        type: string
      functions:
        items:
          $ref: "#/definitions/Function"
        type: array
      id:
        description: Id of channel
        type: string
      name:
        description: Channel name
        type: string
      type:
        description: Type of channel. Choices are 'public' or 'private'. Private channels are only viewable within an account, while public channels are viewable to everyone in the system
        type: object
    title: Channel
    type: object
  ChannelResponse:
    properties:
      description:
        description: Channel description
        type: string
      functions:
        items:
          $ref: "#/definitions/Function5"
        type: array
      id:
        description: Id of channel
        type: string
      name:
        description: Channel name
        type: string
      type:
        description: Type of channel. Choices are 'public' or 'private'. Private channels are only viewable within an account, while public channels are viewable to everyone
        type: object
    title: Channel_Response
    type: object
  Error:
    properties:
      code:
        format: int32
        type: integer
      fields:
        type: string
      message:
        type: string
    title: Error
    type: object
  Function:
    properties:
      id:
        type: string
      name:
        description: Function name
        type: string
      parameters:
        items:
          $ref: "#/definitions/Parameter"
        type: array
      type:
        $ref: "#/definitions/Type"
    title: Function
    type: object
  Function5:
    properties:
      description:
        description: Function description
        type: string
      id:
        type: string
      name:
        description: Function name
        type: string
      type:
        $ref: "#/definitions/Type"
    title: Function5
    type: object
  Function7:
    properties:
      apiType:
        $ref: "#/definitions/ApiType"
      desc:
        description: Function description
        type: string
      endpoint:
        description: Function endpoint
        type: string
      httpMethod:
        $ref: "#/definitions/HttpMethod"
      name:
        description: Function name
        type: string
      requestParameters:
        items:
          $ref: "#/definitions/RequestParameter"
        type: array
      responseFormat:
        $ref: "#/definitions/ResponseFormat"
      type:
        $ref: "#/definitions/Type"
    title: Function7
    type: object
  FunctionResponse:
    properties:
      apiType:
        $ref: "#/definitions/ApiType"
      description:
        description: Function description
        type: string
      endpoint:
        description: Function endpoint
        type: string
      httpMethod:
        $ref: "#/definitions/HttpMethod"
      id:
        type: string
      name:
        description: Function name
        type: string
      requestParameters:
        items:
          $ref: "#/definitions/RequestParameter"
        type: array
      responseFormat:
        $ref: "#/definitions/ResponseFormat"
      type:
        $ref: "#/definitions/Type"
    title: Function_Response
    type: object
  HttpMethod:
    enum:
      - DELETE
      - GET
      - PATCH
      - POST
    title: HttpMethod
    type: string
  Org:
    properties:
      desc:
        description: Org description
        type: string
      name:
        description: Org name
        type: string
      type:
        description: Org type
        type: string
    required:
      - name
    title: Org
    type: object
  OrgResponse:
    properties:
      createdDate:
        description: The date the org was created
        type: string
      id:
        type: string
      modifiedDate:
        description: The date the org was modified
        type: string
      name:
        description: Org name
        type: string
      plan:
        $ref: "#/definitions/Plan"
      planCat:
        type: object
      status:
        description: Org name
        type: string
      type:
        type: object
    title: Org_Response
    type: object
  Parameter:
    properties:
      key:
        type: string
      value:
        type: string
    required:
      - key
      - value
    title: Parameter
    type: object
  Plan:
    enum:
      - free
      - basic
    title: Plan
    type: string
  RequestParameter:
    properties:
      description:
        type: string
      fieldType:
        type: string
      label:
        type: string
      name:
        type: string
      schema:
        $ref: "#/definitions/Schema"
    title: RequestParameter
    type: object
  ResponseFormat:
    enum:
      - Html
      - Json
      - Text
      - Xml
    title: ResponseFormat
    type: string
  Rule:
    properties:
      actionIds:
        description: Rule description
        type: string
      description:
        description: Rule description
        type: string
      name:
        description: Rule name
        type: string
      status:
        $ref: "#/definitions/Status"
        description: Rule status
      triggerIds:
        description: Rule description
        type: string
    title: Rule
    type: object
  RuleFullResponse:
    properties:
      actions:
        items:
          $ref: "#/definitions/Action"
        type: array
      createdDate:
        description: The date the rule was created
        type: string
      description:
        description: Rule description
        type: string
      id:
        description: Rule Id
        format: int32
        type: integer
      modifiedDate:
        description: The date the rule was modified
        type: string
      name:
        description: Rule name
        type: string
      status:
        $ref: "#/definitions/Status"
        description: Rule status
      triggers:
        items:
          $ref: "#/definitions/Trigger"
        type: array
    title: Rule_Full_Response
    type: object
  RuleResults:
    properties:
      id:
        type: string
      name:
        description: Name of rule results
        type: string
      type:
        $ref: "#/definitions/Type"
    title: Rule_Results
    type: object
  RuleShortResponse:
    properties:
      createdDate:
        description: The date the rule was created
        type: string
      description:
        description: Rule description
        type: string
      id:
        description: Rule Id
        format: int32
        type: integer
      modifiedDate:
        description: The date the rule was modified
        type: string
      name:
        description: Rule name
        type: string
      status:
        $ref: "#/definitions/Status"
        description: Rule status
    title: Rule_Short_Response
    type: object
  Schema:
    properties:
      datatype:
        type: object
      default:
        type: string
      expose:
        type: object
      required:
        type: object
      style:
        $ref: "#/definitions/Style"
    title: Schema
    type: object
  Status:
    enum:
      - active
      - inactive
    title: Status
    type: string
  Style:
    enum:
      - postbody
      - query
      - template
    title: Style
    type: string
  Trigger:
    properties:
      channelId:
        type: string
      createdDate:
        description: The date the rule was created
        type: string
      description:
        type: string
      functionId:
        type: string
      id:
        type: string
      modifiedDate:
        description: The date the rule was modified
        type: string
      name:
        type: string
      status:
        $ref: "#/definitions/Status"
    title: Trigger
    type: object
  Trigger54:
    properties:
      channelId:
        description: Id of channel used by trigger
        format: int32
        type: integer
      codes:
        description: Object containing named Javascript code sets
        type: object
      desc:
        description: Trigger description
        type: string
      functionId:
        description: Hash id of channel function used by trigger
        type: string
      name:
        description: Trigger name
        type: string
      parameters:
        description: Object containing channel-defined trigger parameters
        type: object
    required:
      - name
      - channelId
      - functionId
    title: Trigger54
    type: object
  TriggerFullResponse:
    properties:
      channelId:
        format: int32
        type: integer
      codes:
        type: object
      createdDate:
        description: The date the trigger was created
        type: string
      description:
        description: Trigger description
        type: string
      functionId:
        type: string
      id:
        format: int32
        type: integer
      modifiedDate:
        description: The date the trigger was modified
        type: string
      name:
        description: Trigger name
        type: string
      parameters:
        type: object
      status:
        $ref: "#/definitions/Status"
    title: Trigger_Full_Response
    type: object
  TriggerShortResponse:
    properties:
      channelId:
        format: int32
        type: integer
      createdDate:
        description: The date the trigger was created
        type: string
      description:
        description: Trigger description
        type: string
      functionId:
        type: string
      id:
        format: int32
        type: integer
      modifiedDate:
        description: The date the trigger was modified
        type: string
      name:
        description: Trigger name
        type: string
      status:
        $ref: "#/definitions/Status"
    title: Trigger_Short_Response
    type: object
  Type:
    enum:
      - action
      - trigger
    title: Type
    type: string
  Type41:
    enum:
      - admin
      - guest
    title: Type41
    type: string
  UserChannel:
    properties:
      channelId:
        format: int32
        type: integer
      userId:
        format: int32
        type: integer
    title: User_Channel
    type: object
