{
  "operations": {
    "test.getHello": {
      "description": "Returns a hello world message",
      "method": "GET",
      "path": "/hello/world",
      "return": {
        "code": 200,
        "schema": {
          "type": "reference",
          "target": "Hello_World"
        }
      }
    },
    "test.getEntries": {
      "description": "Returns available todo entries",
      "method": "GET",
      "path": "/todo",
      "arguments": {
        "startIndex": {
          "in": "query",
          "schema": {
            "type": "integer"
          }
        },
        "count": {
          "in": "query",
          "schema": {
            "type": "integer"
          }
        }
      },
      "return": {
        "code": 200,
        "schema": {
          "type": "reference",
          "target": "Todos"
        }
      }
    },
    "test.insert": {
      "description": "Inserts a new todo entry",
      "method": "POST",
      "path": "/todo",
      "arguments": {
        "payload": {
          "in": "body",
          "schema": {
            "type": "reference",
            "target": "Todo"
          }
        }
      },
      "return": {
        "code": 201,
        "schema": {
          "type": "reference",
          "target": "Response"
        }
      }
    },
    "test.throwException": {
      "description": "Returns a hello world message",
      "method": "GET",
      "path": "/exception",
      "return": {
        "schema": {
          "type": "reference",
          "target": "Hello_World"
        }
      },
      "throws": [{
        "code": 500,
        "schema": {
          "type": "reference",
          "target": "Error"
        }
      }]
    }
  },
  "definitions": {
    "Hello_World": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string"
        }
      }
    },
    "Todos": {
      "type": "object",
      "properties": {
        "totalResults": {
          "type": "integer"
        },
        "startIndex": {
          "type": "integer"
        },
        "itemsPerPage": {
          "type": "integer"
        },
        "entry": {
          "type": "array",
          "schema": {
            "type": "reference",
            "target": "Todo"
          }
        }
      }
    },
    "Todo": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string"
        }
      }
    },
    "Response": {
      "type": "object",
      "properties": {
        "success": {
          "type": "boolean"
        },
        "message": {
          "type": "string"
        }
      }
    },
    "Error": {
      "type": "object",
      "properties": {
        "success": {
          "type": "boolean"
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}
