{
	"info": {
		"name": "kanban-api",
		"_postman_id": "33515d81-6504-b0cc-16d2-7dc452be82b8",
		"description": "## Authentication\nRequest header `Authorization: Bearer <token>` is required to authenticate.\n\n__token__ is a JWT, it is obtained with `sign up` and `sign in` request.\n\n\n\n## Error response\nInvalid requests will yield an API response with status code of **400** `bad request`. \n\nSuch response means that the request is invalid and that it should have been handled by the client in the first place.\n```JSON\n{\n\t\"error\": \"\"\n}\n```\n\n## Success response\nstatus code **200** `OK`.\n```JSON\n{\n\t\"data\": {\n\t}\n}\n```",
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
	},
	"item": [
		{
			"name": "Sign up",
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "Content-Type",
						"value": "application/json"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n\t\"username\": \"mark\",\n\t\"password\": \"secret\",\n\t\"name\": \"Mark Zuckerburg\"\n}"
				},
				"url": {
					"raw": "http://localhost:5000/api/signup",
					"protocol": "http",
					"host": [
						"localhost"
					],
					"port": "5000",
					"path": [
						"api",
						"signup"
					]
				},
				"description": null
			},
			"response": []
		},
		{
			"name": "Sign in",
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "Content-Type",
						"value": "application/json"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n\t\"username\": \"steve\",\n\t\"password\": \"secret\"\n}"
				},
				"url": {
					"raw": "http://localhost:5000/api/signin",
					"protocol": "http",
					"host": [
						"localhost"
					],
					"port": "5000",
					"path": [
						"api",
						"signin"
					]
				},
				"description": null
			},
			"response": []
		},
		{
			"name": "Me",
			"request": {
				"method": "GET",
				"header": [],
				"body": {},
				"url": {
					"raw": "http://localhost:5000/api/me",
					"protocol": "http",
					"host": [
						"localhost"
					],
					"port": "5000",
					"path": [
						"api",
						"me"
					]
				},
				"description": "Fetch user data for the logged in user"
			},
			"response": []
		},
		{
			"name": "Get all users",
			"request": {
				"method": "GET",
				"header": [],
				"body": {},
				"url": {
					"raw": "http://localhost:5000/api/users",
					"protocol": "http",
					"host": [
						"localhost"
					],
					"port": "5000",
					"path": [
						"api",
						"users"
					]
				},
				"description": null
			},
			"response": []
		},
		{
			"name": "Get all tasks",
			"request": {
				"method": "GET",
				"header": [],
				"body": {},
				"url": {
					"raw": "http://localhost:5000/api/tasks",
					"protocol": "http",
					"host": [
						"localhost"
					],
					"port": "5000",
					"path": [
						"api",
						"tasks"
					]
				},
				"description": null
			},
			"response": []
		},
		{
			"name": "Create new task",
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "Content-Type",
						"value": "application/json"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n  \"name\": \"Add materialized data views\",\n  \"description\": \"Implement materialized views for common queries\",\n  \"status\": \"TODO\",\n  \"assignee\": null,\n  \"tags\": [2,3],\n  \"blockedBy\": []\n}"
				},
				"url": {
					"raw": "http://localhost:5000/api/task",
					"protocol": "http",
					"host": [
						"localhost"
					],
					"port": "5000",
					"path": [
						"api",
						"task"
					]
				},
				"description": null
			},
			"response": []
		},
		{
			"name": "Update task",
			"request": {
				"method": "PUT",
				"header": [
					{
						"key": "Content-Type",
						"value": "application/json"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n  \"name\": \"task name\",\n  \"description\": \"description goes here\",\n  \"status\": \"IN_PROGRESS\",\n  \"assignee\": \"f33a440f-c18f-4d62-a6d8-25411d937cfa\",\n  \"tags\": [1],\n  \"blockedBy\": []\n}"
				},
				"url": {
					"raw": "http://localhost:5000/api/task/50",
					"protocol": "http",
					"host": [
						"localhost"
					],
					"port": "5000",
					"path": [
						"api",
						"task",
						"50"
					]
				},
				"description": "`/api/task/<task id>`\n\nSpecify the task to update by setting the task id in the request URL"
			},
			"response": []
		},
		{
			"name": "Get all tags",
			"request": {
				"method": "GET",
				"header": [],
				"body": {},
				"url": {
					"raw": "http://localhost:5000/api/tags",
					"protocol": "http",
					"host": [
						"localhost"
					],
					"port": "5000",
					"path": [
						"api",
						"tags"
					]
				},
				"description": null
			},
			"response": []
		}
	],
	"auth": {
		"type": "bearer",
		"bearer": [
			{
				"key": "token",
				"value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImExMTM5YjhiLTIwNTktNDZiOC05YWRmLWNlNDdmZjVkMjQ3YyIsInVzZXJuYW1lIjoic3RldmUiLCJpYXQiOjE1MzIwOTAyMjl9.l0DC8QLn2BU58t0EfK9SPCWkPmX0sn8hw7Wcv1jdehE",
				"type": "string"
			}
		]
	},
	"event": [
		{
			"listen": "prerequest",
			"script": {
				"id": "f603a206-5e23-4829-b4e3-893f6b81025f",
				"type": "text/javascript",
				"exec": [
					""
				]
			}
		},
		{
			"listen": "test",
			"script": {
				"id": "341861d2-de97-4b24-b0d5-e72f172730f2",
				"type": "text/javascript",
				"exec": [
					""
				]
			}
		}
	]
}