swagger: "2.0"
schemes:
  - http
host: devui.magick.nu
basePath: /rest
info:
  contact:
    x-twitter: tradeworks_tech
  description: |-
    Authentication is required to access all methods of the API. Enter username and password.
                    Credentials are automatically set as you type.
  title: Tradeworks
  version: "1.0"
  x-apisguru-categories:
    - financial
  x-logo:
    url: https://twitter.com/tradeworks_tech/profile_image?size=original
  x-origin:
    - converter:
        url: https://github.com/lucybot/api-spec-converter
        version: 2.6.2
      format: swagger
      url: http://devui.magick.nu/api/api-docs
      version: "1.2"
  x-providerName: magick.nu
tags:
  - name: strategies
  - name: tradingAccounts
  - name: users
paths:
  "/strategies/strategyId/{strategyId}":
    get:
      operationId: getStrategiesStrategyIdStrategyId
      parameters:
        - in: path
          name: strategyId
          required: true
          type: string
      responses:
        "200":
          description: No response was specified
      summary: Get Strategy by ID
      tags:
        - strategies
  /strategies/templates:
    get:
      operationId: getStrategiesTemplates
      responses:
        "200":
          description: No response was specified
      summary: Get all Template Strategies
      tags:
        - strategies
  /tradingAccounts:
    post:
      consumes:
        - application/json
      operationId: postTradingAccounts
      parameters:
        - in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/TradingAccount"
      produces:
        - text/plain
      responses:
        "200":
          description: No response was specified
      summary: Add a Trading Account
      tags:
        - tradingAccounts
  "/tradingAccounts/password/{username}/{brokerserver}/{mt4username}":
    put:
      consumes:
        - application/json
      operationId: putTradingAccountsPasswordUsernameBrokerserverMt4username
      parameters:
        - in: path
          name: username
          required: true
          type: string
        - in: path
          name: brokerserver
          required: true
          type: string
        - in: path
          name: mt4username
          required: true
          type: string
        - in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/PasswordDTO"
      produces:
        - application/json
      responses:
        "200":
          description: No response was specified
      summary: Update MT4 Account Password
      tags:
        - tradingAccounts
  /users:
    post:
      consumes:
        - application/json
      operationId: postUsers
      parameters:
        - in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/UserDTO"
      produces:
        - text/plain
      responses:
        "200":
          description: No response was specified
      summary: Create a new Tradeworks User
      tags:
        - users
  "/users/email/{email}":
    get:
      operationId: getUsersEmailEmail
      parameters:
        - in: path
          name: email
          required: true
          type: string
      responses:
        "200":
          description: No response was specified
      summary: Check if email is available
      tags:
        - users
  "/users/password/{username}":
    put:
      consumes:
        - application/json
      operationId: putUsersPasswordUsername
      parameters:
        - in: path
          name: username
          required: true
          type: string
        - in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/PasswordDTO"
      produces:
        - text/plain
      responses:
        "200":
          description: No response was specified
      summary: Update user's password
      tags:
        - users
  "/users/username/{username}":
    get:
      operationId: getUsersUsernameUsername
      parameters:
        - in: path
          name: username
          required: true
          type: string
      responses:
        "200":
          description: No response was specified
      summary: Check if username is available
      tags:
        - users
definitions:
  PasswordDTO:
    properties:
      newPassword:
        type: string
      oldPassword:
        type: string
  TradingAccount:
    properties:
      brokerServer:
        type: string
      magickUsername:
        type: string
      password:
        type: string
      username:
        type: string
  UserDTO:
    properties:
      affiliateId:
        type: string
      email:
        type: string
      firstName:
        type: string
      lastName:
        type: string
      password:
        type: string
      subscriptionType:
        type: string
      username:
        type: string
