{
  "swagger": "2.0",
  "info": {},
  "paths": {
    "/lists": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "lists"
        ],
        "summary": "Gets all lists owned by the current user",
        "operationId": "getLists",
        "responses": {
          "200": {
            "$ref": "#/responses/List"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      }
    },
    "/lists/{listID}": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "lists"
        ],
        "summary": "gets one list with all todo tasks",
        "operationId": "getList",
        "parameters": [
          {
            "type": "string",
            "description": "ID of the list to show",
            "name": "listID",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/List"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "lists"
        ],
        "summary": "Adds an task to a list",
        "operationId": "addListTask",
        "parameters": [
          {
            "type": "string",
            "description": "ID of the list to use",
            "name": "listID",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/ListTask"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ListTask"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "lists"
        ],
        "summary": "Updates a list",
        "operationId": "upadteList",
        "parameters": [
          {
            "type": "string",
            "description": "ID of the list to update",
            "name": "listID",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/List"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/List"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "403": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      },
      "delete": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "lists"
        ],
        "summary": "Deletes a list with all tasks on it",
        "operationId": "deleteList",
        "parameters": [
          {
            "type": "string",
            "description": "ID of the list to delete",
            "name": "listID",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Message"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "403": {
            "$ref": "#/responses/Message"
          },
          "404": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      }
    },
    "/lists/{listID}/teams": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "teams"
        ],
        "summary": "gets all teams which have access to the list",
        "operationId": "getTeamsByList",
        "parameters": [
          {
            "type": "string",
            "description": "ID of the list to show",
            "name": "listID",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Team"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "teams"
        ],
        "summary": "adds a team to a list",
        "operationId": "addTeamToList",
        "parameters": [
          {
            "type": "string",
            "description": "ID of the list to show",
            "name": "listID",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/TeamList"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TeamList"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      }
    },
    "/lists/{listID}/teams/{teamID}": {
      "delete": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "teams"
        ],
        "summary": "removes a team from a list",
        "operationId": "deleteTeamFromList",
        "parameters": [
          {
            "type": "string",
            "description": "ID of the list",
            "name": "listID",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "ID of the team to remove",
            "name": "teamID",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Message"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      }
    },
    "/login": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Logs a user in. Returns a JWT-Token to authenticate requests",
        "operationId": "login",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/UserLogin"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Token"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "403": {
            "$ref": "#/responses/Message"
          }
        }
      }
    },
    "/namespaces": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "namespaces"
        ],
        "summary": "Get all namespaces the currently logged in user has at least read access",
        "operationId": "getNamespaces",
        "responses": {
          "200": {
            "$ref": "#/responses/Namespace"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "namespaces"
        ],
        "summary": "Creates a new namespace owned by the currently logged in user",
        "operationId": "addNamespace",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/Namespace"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Namespace"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "403": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      }
    },
    "/namespaces/{namespaceID}": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "namespaces"
        ],
        "summary": "gets one namespace with all todo tasks",
        "operationId": "getNamespace",
        "parameters": [
          {
            "type": "string",
            "description": "ID of the namespace to show",
            "name": "namespaceID",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Namespace"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "namespaces"
        ],
        "summary": "Updates a namespace",
        "operationId": "upadteNamespace",
        "parameters": [
          {
            "type": "string",
            "description": "ID of the namespace to update",
            "name": "namespaceID",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/Namespace"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Namespace"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "403": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      },
      "delete": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "namespaces"
        ],
        "summary": "Deletes a namespace with all lists",
        "operationId": "deleteNamespace",
        "parameters": [
          {
            "type": "string",
            "description": "ID of the namespace to delete",
            "name": "namespaceID",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Message"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "403": {
            "$ref": "#/responses/Message"
          },
          "404": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      }
    },
    "/namespaces/{namespaceID}/lists": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "lists"
        ],
        "summary": "gets all lists in that namespace",
        "operationId": "getNamespaceLists",
        "parameters": [
          {
            "type": "string",
            "description": "ID of the namespace to show",
            "name": "namespaceID",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/List"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "lists"
        ],
        "summary": "Creates a new list owned by the currently logged in user in that namespace",
        "operationId": "addList",
        "parameters": [
          {
            "type": "string",
            "description": "ID of the namespace that list should belong to",
            "name": "namespaceID",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/List"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/List"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "403": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      }
    },
    "/namespaces/{namespaceID}/teams": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "teams"
        ],
        "summary": "gets all teams which have access to that namespace",
        "operationId": "getNamespaceTeams",
        "parameters": [
          {
            "type": "string",
            "description": "ID of the namespace to show",
            "name": "namespaceID",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Team"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "teams"
        ],
        "summary": "Gives a team access to a namespace",
        "operationId": "addTeamToNamespace",
        "parameters": [
          {
            "type": "string",
            "description": "ID of the namespace that list should belong to",
            "name": "namespaceID",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamNamespace"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TeamNamespace"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "403": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      }
    },
    "/namespaces/{namespaceID}/teams/{teamID}": {
      "delete": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "teams"
        ],
        "summary": "Removes a team from a namespace",
        "operationId": "removeTeamFromNamespace",
        "parameters": [
          {
            "type": "string",
            "description": "ID of the namespace",
            "name": "namespaceID",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "ID of the team you want to remove",
            "name": "teamID",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Message"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "403": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      }
    },
    "/register": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Creates a new user account",
        "operationId": "register",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/APIUserPassword"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/User"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      }
    },
    "/tasks/{taskID}": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "lists"
        ],
        "summary": "Updates a list task",
        "operationId": "updateListTask",
        "parameters": [
          {
            "type": "string",
            "description": "ID of the task to update",
            "name": "taskID",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/ListTask"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ListTask"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      },
      "delete": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "lists"
        ],
        "summary": "Deletes a list task",
        "operationId": "deleteListTask",
        "parameters": [
          {
            "type": "string",
            "description": "ID of the list task to delete",
            "name": "taskID",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Message"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "403": {
            "$ref": "#/responses/Message"
          },
          "404": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      }
    },
    "/teams": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "teams"
        ],
        "summary": "gets all teams the current user is part of",
        "operationId": "getTeams",
        "responses": {
          "200": {
            "$ref": "#/responses/Team"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "teams"
        ],
        "summary": "Creates a team",
        "operationId": "createTeam",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Team"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Team"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "403": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      }
    },
    "/teams/{teamID}": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "teams"
        ],
        "summary": "gets infos about the team",
        "operationId": "getTeamByID",
        "parameters": [
          {
            "type": "string",
            "description": "ID of the team",
            "name": "teamID",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Team"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "teams"
        ],
        "summary": "Updates a team",
        "operationId": "updateTeam",
        "parameters": [
          {
            "type": "string",
            "description": "ID of the team you want to update",
            "name": "teamID",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Team"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Team"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "403": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      },
      "delete": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "teams"
        ],
        "summary": "Deletes a team",
        "operationId": "deleteTeam",
        "parameters": [
          {
            "type": "string",
            "description": "ID of the team you want to delete",
            "name": "teamID",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Message"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "403": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      }
    },
    "/teams/{teamID}/members": {
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "teams"
        ],
        "summary": "Adds a member to a team",
        "operationId": "addTeamMember",
        "parameters": [
          {
            "type": "string",
            "description": "ID of the team you want to add a member to",
            "name": "teamID",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamMember"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TeamMember"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "403": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      }
    },
    "/teams/{teamID}/members/{userID}": {
      "delete": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "teams"
        ],
        "summary": "Removes a member from a team",
        "operationId": "removeTeamMember",
        "parameters": [
          {
            "type": "string",
            "description": "ID of the team you want to delete a member",
            "name": "teamID",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "ID of the user you want to remove from the team",
            "name": "userID",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Message"
          },
          "400": {
            "$ref": "#/responses/Message"
          },
          "403": {
            "$ref": "#/responses/Message"
          },
          "500": {
            "$ref": "#/responses/Message"
          }
        }
      }
    }
  },
  "definitions": {
    "APIUserPassword": {
      "type": "object",
      "title": "APIUserPassword represents a user object without timestamps and a json password field.",
      "properties": {
        "email": {
          "type": "string",
          "x-go-name": "Email"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "password": {
          "type": "string",
          "x-go-name": "Password"
        },
        "username": {
          "type": "string",
          "x-go-name": "Username"
        }
      },
      "x-go-package": "code.vikunja.io/api/models"
    },
    "List": {
      "description": "List represents a list of tasks",
      "type": "object",
      "properties": {
        "created": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Created"
        },
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "owner": {
          "$ref": "#/definitions/User"
        },
        "tasks": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ListTask"
          },
          "x-go-name": "Tasks"
        },
        "title": {
          "type": "string",
          "x-go-name": "Title"
        },
        "updated": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Updated"
        }
      },
      "x-go-package": "code.vikunja.io/api/models"
    },
    "ListTask": {
      "description": "ListTask represents an task in a todolist",
      "type": "object",
      "properties": {
        "created": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Created"
        },
        "createdBy": {
          "$ref": "#/definitions/User"
        },
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "done": {
          "type": "boolean",
          "x-go-name": "Done"
        },
        "dueDate": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "DueDateUnix"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "listID": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ListID"
        },
        "reminderDate": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ReminderUnix"
        },
        "text": {
          "type": "string",
          "x-go-name": "Text"
        },
        "updated": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Updated"
        }
      },
      "x-go-package": "code.vikunja.io/api/models"
    },
    "Message": {
      "description": "Message is a standard message",
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "x-go-name": "Message"
        }
      },
      "x-go-package": "code.vikunja.io/api/models"
    },
    "Namespace": {
      "description": "Namespace holds informations about a namespace",
      "type": "object",
      "properties": {
        "created": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Created"
        },
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "owner": {
          "$ref": "#/definitions/User"
        },
        "updated": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Updated"
        }
      },
      "x-go-package": "code.vikunja.io/api/models"
    },
    "Team": {
      "description": "Team holds a team object",
      "type": "object",
      "properties": {
        "created": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Created"
        },
        "created_by": {
          "$ref": "#/definitions/User"
        },
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamUser"
          },
          "x-go-name": "Members"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "updated": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Updated"
        }
      },
      "x-go-package": "code.vikunja.io/api/models"
    },
    "TeamList": {
      "description": "TeamList defines the relation between a team and a list",
      "type": "object",
      "properties": {
        "created": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Created"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "list_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ListID"
        },
        "right": {
          "$ref": "#/definitions/TeamRight"
        },
        "team_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "TeamID"
        },
        "updated": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Updated"
        }
      },
      "x-go-package": "code.vikunja.io/api/models"
    },
    "TeamMember": {
      "description": "TeamMember defines the relationship between a user and a team",
      "type": "object",
      "properties": {
        "admin": {
          "type": "boolean",
          "x-go-name": "Admin"
        },
        "created": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Created"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "team_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "TeamID"
        },
        "updated": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Updated"
        },
        "user_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "UserID"
        }
      },
      "x-go-package": "code.vikunja.io/api/models"
    },
    "TeamNamespace": {
      "description": "TeamNamespace defines the relationship between a Team and a Namespace",
      "type": "object",
      "properties": {
        "created": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Created"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "namespace_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "NamespaceID"
        },
        "right": {
          "$ref": "#/definitions/TeamRight"
        },
        "team_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "TeamID"
        },
        "updated": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Updated"
        }
      },
      "x-go-package": "code.vikunja.io/api/models"
    },
    "TeamRight": {
      "description": "TeamRight defines the rights teams can have for lists/namespaces",
      "type": "integer",
      "format": "int64",
      "x-go-package": "code.vikunja.io/api/models"
    },
    "TeamUser": {
      "description": "TeamUser is the team member type",
      "type": "object",
      "properties": {
        "admin": {
          "type": "boolean",
          "x-go-name": "Admin"
        },
        "email": {
          "type": "string",
          "x-go-name": "Email"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "username": {
          "type": "string",
          "x-go-name": "Username"
        }
      },
      "x-go-package": "code.vikunja.io/api/models"
    },
    "User": {
      "description": "User holds information about an user",
      "type": "object",
      "properties": {
        "email": {
          "type": "string",
          "x-go-name": "Email"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "username": {
          "type": "string",
          "x-go-name": "Username"
        }
      },
      "x-go-package": "code.vikunja.io/api/models"
    },
    "UserLogin": {
      "description": "UserLogin Object to recive user credentials in JSON format",
      "type": "object",
      "properties": {
        "password": {
          "type": "string",
          "x-go-name": "Password"
        },
        "username": {
          "type": "string",
          "x-go-name": "Username"
        }
      },
      "x-go-package": "code.vikunja.io/api/models"
    }
  },
  "responses": {
    "List": {
      "description": "List",
      "schema": {
        "$ref": "#/definitions/List"
      }
    },
    "ListTask": {
      "description": "ListTask",
      "schema": {
        "$ref": "#/definitions/ListTask"
      }
    },
    "Message": {
      "description": "Message",
      "schema": {
        "$ref": "#/definitions/Message"
      }
    },
    "Namespace": {
      "description": "Namespace",
      "schema": {
        "$ref": "#/definitions/Namespace"
      }
    },
    "Team": {
      "description": "Team",
      "schema": {
        "$ref": "#/definitions/Team"
      }
    },
    "TeamList": {
      "description": "TeamList",
      "schema": {
        "$ref": "#/definitions/TeamList"
      }
    },
    "TeamMember": {
      "description": "TeamMember",
      "schema": {
        "$ref": "#/definitions/TeamMember"
      }
    },
    "TeamNamespace": {
      "description": "TeamNamespace",
      "schema": {
        "$ref": "#/definitions/TeamNamespace"
      }
    },
    "Token": {
      "description": "Token",
      "schema": {
        "type": "object",
        "required": [
          "token"
        ],
        "properties": {
          "token": {
            "description": "The token",
            "type": "string",
            "x-go-name": "Token"
          }
        }
      }
    },
    "User": {
      "description": "User Object",
      "schema": {
        "$ref": "#/definitions/User"
      }
    },
    "parameterBodies": {
      "description": "parameterBodies",
      "schema": {
        "$ref": "#/definitions/TeamNamespace"
      }
    }
  }
}