{ "swagger": "2.0", "info": { "description": "Pomme is a service that parses zonefiles", "title": "Pomme", "termsOfService": "http://freecumextremist.com/", "contact": {}, "version": "0.0.1" }, "paths": { "/api/login": { "post": { "description": "login to Pomme\nRate limited: 5 requests every 5 second", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "accounts" ], "summary": "authenticate as a regular user", "parameters": [ { "type": "string", "description": "Username", "name": "username", "in": "query", "required": true }, { "type": "string", "description": "Password", "name": "password", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/internal.GenericResponse-internal_Response" } }, "401": { "description": "authFailed is a 401 error when logging in fails, includes realm", "schema": { "$ref": "#/definitions/internal.GenericResponse-internal_Response" } } } } }, "/api/parse": { "post": { "security": [ { "Bearer": [] } ], "description": "parse your zonefile\nRate limited: 10 requests every 10 second\nyou must specify \"Bearer\" before entering your token", "consumes": [ "multipart/form-data" ], "produces": [ "application/json" ], "tags": [ "DNS" ], "summary": "parse your zonefile", "parameters": [ { "type": "string", "description": "Zonefile name", "name": "filename", "in": "query", "required": true }, { "type": "string", "description": "Bearer Token", "name": "Authorization", "in": "header", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/internal.GenericResponse-internal_Response" } }, "500": { "description": "internalServerError is a 500 server error with a logged error call back", "schema": { "$ref": "#/definitions/internal.GenericResponse-internal_Response" } } } } }, "/api/upload": { "post": { "security": [ { "Bearer": [] } ], "description": "upload takes files from the user and stores it locally to be parsed. Uploads are associated with a specific user.\nRate limited: 10 requests every 10 second\nyou must specify \"Bearer\" before entering your token", "consumes": [ "multipart/form-data" ], "produces": [ "application/json" ], "tags": [ "DNS" ], "summary": "upload a zonefile", "parameters": [ { "type": "file", "description": "Zonefile to upload", "name": "file", "in": "formData", "required": true }, { "type": "string", "description": "Bearer Token", "name": "Authorization", "in": "header", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/internal.GenericResponse-internal_Response" } }, "500": { "description": "internalServerError is a 500 server error with a logged error call back", "schema": { "$ref": "#/definitions/internal.GenericResponse-internal_Response" } } } } } }, "definitions": { "internal.GenericResponse-internal_Response": { "type": "object", "properties": { "response": { "description": "Response items", "allOf": [ { "$ref": "#/definitions/internal.Response" } ] } } }, "internal.Response": { "type": "object", "properties": { "message": { "type": "string" }, "status": { "type": "integer" } } } }, "securityDefinitions": { "Bearer": { "description": "Type \"Bearer\" followed by a space and JWT token.", "type": "apiKey", "name": "Authorization", "in": "header" } } }