{
  "_version": "2.2",
  "ast": {
    "_version": "4.0",
    "metadata": [
      {
        "name": "FORMAT",
        "value": "1A"
      }
    ],
    "name": "",
    "description": "",
    "element": "category",
    "content": [
      {
        "element": "category",
        "attributes": {
          "name": "Authentication"
        },
        "content": [
          {
            "element": "copy",
            "content": "Polls is a simple API allowing consumers to view polls and vote in them."
          },
          {
            "element": "resource",
            "name": "",
            "description": "",
            "uriTemplate": "/auth",
            "model": {},
            "parameters": [],
            "actions": [
              {
                "name": "get question by id",
                "description": "",
                "method": "GET",
                "parameters": [
                  {
                    "name": "question_id",
                    "description": "ID of the Question in the form of an integer\n(numeric)\n",
                    "type": "number",
                    "required": true,
                    "default": "",
                    "example": "",
                    "values": []
                  }
                ],
                "attributes": {
                  "relation": "",
                  "uriTemplate": "/{question_id}"
                },
                "content": [],
                "examples": [
                  {
                    "name": "",
                    "description": "",
                    "requests": [],
                    "responses": [
                      {
                        "name": "200",
                        "description": "",
                        "headers": [
                          {
                            "name": "Content-Type",
                            "value": "text/plain; charset=utf-8"
                          }
                        ],
                        "body": "Hello, world!\n",
                        "schema": "",
                        "content": [
                          {
                            "element": "asset",
                            "attributes": {
                              "role": "bodyExample"
                            },
                            "content": "Hello, world!\n"
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "name": "register",
                "description": "You may create your own question using this action. It takes a JSON object\ncontaining a question and a collection of answers in the form of choices.\n\n+ auth (Email Creds) - auth part\n\n+ user (User Info) - user data",
                "method": "POST",
                "parameters": [],
                "attributes": {
                  "relation": "",
                  "uriTemplate": "/register"
                },
                "content": [],
                "examples": [
                  {
                    "name": "",
                    "description": "",
                    "requests": [
                      {
                        "name": "",
                        "description": "",
                        "headers": [
                          {
                            "name": "Content-Type",
                            "value": "application/json"
                          }
                        ],
                        "body": "{\n  \"auth\": {\n    \"email\": \"test@test.com\",\n    \"password\": \"pass12345\"\n  },\n  \"user\": {\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\",\n    \"birth_date\": \"01\",\n    \"birth_place\": \"Gotham\"\n  }\n}",
                        "schema": "{\n  \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n  \"type\": \"object\",\n  \"properties\": {\n    \"auth\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"email\": {\n          \"type\": \"string\",\n          \"description\": \"(email)\"\n        },\n        \"password\": {\n          \"type\": \"string\"\n        }\n      },\n      \"required\": [\n        \"email\",\n        \"password\"\n      ],\n      \"description\": \"auth part\"\n    },\n    \"user\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"first_name\": {\n          \"type\": \"string\",\n          \"description\": \"(min 10,max 100)\"\n        },\n        \"last_name\": {\n          \"type\": \"string\"\n        },\n        \"birth_date\": {\n          \"type\": \"string\",\n          \"description\": \"12-1980 (string)\"\n        },\n        \"birth_place\": {\n          \"type\": \"string\"\n        }\n      },\n      \"required\": [\n        \"first_name\",\n        \"last_name\"\n      ],\n      \"description\": \"user data\"\n    }\n  }\n}",
                        "content": [
                          {
                            "element": "dataStructure",
                            "content": [
                              {
                                "element": "object",
                                "content": [
                                  {
                                    "element": "member",
                                    "meta": {
                                      "description": "auth part"
                                    },
                                    "content": {
                                      "key": {
                                        "element": "string",
                                        "content": "auth"
                                      },
                                      "value": {
                                        "element": "Email Creds"
                                      }
                                    }
                                  },
                                  {
                                    "element": "member",
                                    "meta": {
                                      "description": "user data"
                                    },
                                    "content": {
                                      "key": {
                                        "element": "string",
                                        "content": "user"
                                      },
                                      "value": {
                                        "element": "User Info"
                                      }
                                    }
                                  }
                                ],
                                "meta": {
                                  "id": "Form0"
                                }
                              }
                            ]
                          }
                        ]
                      }
                    ],
                    "responses": [
                      {
                        "name": "201",
                        "description": "",
                        "headers": [
                          {
                            "name": "Content-Type",
                            "value": "application/json"
                          }
                        ],
                        "body": "{\n  \"token\": \"SOME_TOKEN\",\n  \"user_id\": 11,\n  \"email\": {\n    \"email\": \"test@test.com\",\n    \"password\": \"pass12345\"\n  }\n}",
                        "schema": "{\n  \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n  \"type\": \"object\",\n  \"properties\": {\n    \"token\": {\n      \"type\": \"string\"\n    },\n    \"user_id\": {\n      \"type\": \"number\",\n      \"description\": \"(range 10 100)\"\n    },\n    \"email\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"email\": {\n          \"type\": \"string\",\n          \"description\": \"(email)\"\n        },\n        \"password\": {\n          \"type\": \"string\"\n        }\n      },\n      \"required\": [\n        \"email\",\n        \"password\"\n      ]\n    }\n  },\n  \"required\": [\n    \"email\"\n  ]\n}",
                        "content": [
                          {
                            "element": "dataStructure",
                            "content": [
                              {
                                "element": "Auth Response"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "name": "400",
                        "description": "",
                        "headers": [],
                        "body": "",
                        "schema": "",
                        "content": []
                      },
                      {
                        "name": "401",
                        "description": "",
                        "headers": [],
                        "body": "",
                        "schema": "",
                        "content": []
                      },
                      {
                        "name": "500",
                        "description": "",
                        "headers": [],
                        "body": "",
                        "schema": "",
                        "content": []
                      }
                    ]
                  }
                ]
              },
              {
                "name": "login",
                "description": "(authorized)",
                "method": "POST",
                "parameters": [],
                "attributes": {
                  "relation": "",
                  "uriTemplate": "/login"
                },
                "content": [],
                "examples": [
                  {
                    "name": "",
                    "description": "",
                    "requests": [
                      {
                        "name": "",
                        "description": "",
                        "headers": [
                          {
                            "name": "Content-Type",
                            "value": "application/json"
                          }
                        ],
                        "body": "{\n  \"email\": \"test@test.com\",\n  \"password\": \"pass12345\"\n}",
                        "schema": "{\n  \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n  \"type\": \"object\",\n  \"properties\": {\n    \"email\": {\n      \"type\": \"string\",\n      \"description\": \"(email)\"\n    },\n    \"password\": {\n      \"type\": \"string\"\n    }\n  },\n  \"required\": [\n    \"email\",\n    \"password\"\n  ]\n}",
                        "content": [
                          {
                            "element": "dataStructure",
                            "content": [
                              {
                                "element": "Email Creds"
                              }
                            ]
                          }
                        ]
                      }
                    ],
                    "responses": [
                      {
                        "name": "200",
                        "description": "",
                        "headers": [
                          {
                            "name": "Content-Type",
                            "value": "application/json"
                          }
                        ],
                        "body": "{\n  \"token\": \"SOME_TOKEN\",\n  \"user_id\": 11,\n  \"email\": {\n    \"email\": \"test@test.com\",\n    \"password\": \"pass12345\"\n  }\n}",
                        "schema": "{\n  \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n  \"type\": \"object\",\n  \"properties\": {\n    \"token\": {\n      \"type\": \"string\"\n    },\n    \"user_id\": {\n      \"type\": \"number\",\n      \"description\": \"(range 10 100)\"\n    },\n    \"email\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"email\": {\n          \"type\": \"string\",\n          \"description\": \"(email)\"\n        },\n        \"password\": {\n          \"type\": \"string\"\n        }\n      },\n      \"required\": [\n        \"email\",\n        \"password\"\n      ]\n    }\n  },\n  \"required\": [\n    \"email\"\n  ]\n}",
                        "content": [
                          {
                            "element": "dataStructure",
                            "content": [
                              {
                                "element": "Auth Response"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "name": "400",
                        "description": "",
                        "headers": [],
                        "body": "",
                        "schema": "",
                        "content": []
                      }
                    ]
                  }
                ]
              },
              {
                "name": "change password",
                "description": "[authorized]",
                "method": "POST",
                "parameters": [],
                "attributes": {
                  "relation": "",
                  "uriTemplate": "/password"
                },
                "content": [],
                "examples": [
                  {
                    "name": "",
                    "description": "",
                    "requests": [
                      {
                        "name": "",
                        "description": "",
                        "headers": [
                          {
                            "name": "Content-Type",
                            "value": "application/json"
                          }
                        ],
                        "body": "{\n  \"current_password\": \"pass12345\",\n  \"new_password\": \"newpass12345\"\n}",
                        "schema": "{\n  \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n  \"type\": \"object\",\n  \"properties\": {\n    \"current_password\": {\n      \"type\": \"string\",\n      \"description\": \"description  (min 8,max 20)\"\n    },\n    \"new_password\": {\n      \"type\": \"string\",\n      \"description\": \"(min 8,max 20)\\nPassword should be at least 8 characters & less than 10 characters\"\n    }\n  },\n  \"required\": [\n    \"current_password\",\n    \"new_password\"\n  ]\n}",
                        "content": [
                          {
                            "element": "dataStructure",
                            "content": [
                              {
                                "element": "object",
                                "content": [
                                  {
                                    "element": "member",
                                    "meta": {
                                      "description": "description  (min 8,max 20)"
                                    },
                                    "attributes": {
                                      "typeAttributes": [
                                        "required"
                                      ]
                                    },
                                    "content": {
                                      "key": {
                                        "element": "string",
                                        "content": "current_password"
                                      },
                                      "value": {
                                        "element": "string",
                                        "content": "pass12345"
                                      }
                                    }
                                  },
                                  {
                                    "element": "member",
                                    "meta": {
                                      "description": "(min 8,max 20)\nPassword should be at least 8 characters & less than 10 characters"
                                    },
                                    "attributes": {
                                      "typeAttributes": [
                                        "required"
                                      ]
                                    },
                                    "content": {
                                      "key": {
                                        "element": "string",
                                        "content": "new_password"
                                      },
                                      "value": {
                                        "element": "string",
                                        "content": "newpass12345"
                                      }
                                    }
                                  }
                                ],
                                "meta": {
                                  "id": "Form1"
                                }
                              }
                            ]
                          }
                        ]
                      }
                    ],
                    "responses": [
                      {
                        "name": "204",
                        "description": "",
                        "headers": [],
                        "body": "",
                        "schema": "",
                        "content": []
                      },
                      {
                        "name": "401",
                        "description": "",
                        "headers": [],
                        "body": "",
                        "schema": "",
                        "content": []
                      },
                      {
                        "name": "400",
                        "description": "",
                        "headers": [],
                        "body": "",
                        "schema": "",
                        "content": []
                      },
                      {
                        "name": "500",
                        "description": "",
                        "headers": [],
                        "body": "",
                        "schema": "",
                        "content": []
                      }
                    ]
                  }
                ]
              }
            ],
            "content": []
          }
        ]
      },
      {
        "element": "category",
        "content": [
          {
            "element": "dataStructure",
            "content": [
              {
                "element": "object",
                "meta": {
                  "id": "Email Creds"
                },
                "content": [
                  {
                    "element": "member",
                    "meta": {
                      "description": "(email)"
                    },
                    "attributes": {
                      "typeAttributes": [
                        "required"
                      ]
                    },
                    "content": {
                      "key": {
                        "element": "string",
                        "content": "email"
                      },
                      "value": {
                        "element": "string",
                        "content": "test@test.com"
                      }
                    }
                  },
                  {
                    "element": "member",
                    "attributes": {
                      "typeAttributes": [
                        "required"
                      ]
                    },
                    "content": {
                      "key": {
                        "element": "string",
                        "content": "password"
                      },
                      "value": {
                        "element": "string",
                        "content": "pass12345"
                      }
                    }
                  }
                ]
              }
            ]
          },
          {
            "element": "dataStructure",
            "content": [
              {
                "element": "object",
                "meta": {
                  "id": "User Info"
                },
                "content": [
                  {
                    "element": "member",
                    "meta": {
                      "description": "(min 10,max 100)"
                    },
                    "attributes": {
                      "typeAttributes": [
                        "required"
                      ]
                    },
                    "content": {
                      "key": {
                        "element": "string",
                        "content": "first_name"
                      },
                      "value": {
                        "element": "string",
                        "content": "John"
                      }
                    }
                  },
                  {
                    "element": "member",
                    "attributes": {
                      "typeAttributes": [
                        "required"
                      ]
                    },
                    "content": {
                      "key": {
                        "element": "string",
                        "content": "last_name"
                      },
                      "value": {
                        "element": "string",
                        "content": "Doe"
                      }
                    }
                  },
                  {
                    "element": "member",
                    "meta": {
                      "description": "12-1980 (string)"
                    },
                    "content": {
                      "key": {
                        "element": "string",
                        "content": "birth_date"
                      },
                      "value": {
                        "element": "string",
                        "content": "01"
                      }
                    }
                  },
                  {
                    "element": "member",
                    "content": {
                      "key": {
                        "element": "string",
                        "content": "birth_place"
                      },
                      "value": {
                        "element": "string",
                        "content": "Gotham"
                      }
                    }
                  }
                ]
              }
            ]
          },
          {
            "element": "dataStructure",
            "content": [
              {
                "element": "object",
                "meta": {
                  "id": "Auth Response"
                },
                "content": [
                  {
                    "element": "member",
                    "content": {
                      "key": {
                        "element": "string",
                        "content": "token"
                      },
                      "value": {
                        "element": "string",
                        "content": "SOME_TOKEN"
                      }
                    }
                  },
                  {
                    "element": "member",
                    "meta": {
                      "description": "(range 10 100)"
                    },
                    "content": {
                      "key": {
                        "element": "string",
                        "content": "user_id"
                      },
                      "value": {
                        "element": "number",
                        "content": 11
                      }
                    }
                  },
                  {
                    "element": "member",
                    "attributes": {
                      "typeAttributes": [
                        "required"
                      ]
                    },
                    "content": {
                      "key": {
                        "element": "string",
                        "content": "email"
                      },
                      "value": {
                        "element": "Email Creds"
                      }
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  },
  "warnings": []
}