{ "swagger": "2.0", "info": { "description": "API for managing job scraping operations", "title": "Jobs Scraper API", "contact": {}, "version": "1.0" }, "basePath": "/", "paths": { "/jobs": { "post": { "description": "Creates a new job with the provided specifications", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "jobs" ], "summary": "Create a new job", "parameters": [ { "description": "Job creation data", "name": "job", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ports.CreateJobCommand" } } ], "responses": { "201": { "description": "Successfully created job", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "400": { "description": "Invalid request data", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "500": { "description": "Internal server error", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } } }, "definitions": { "domain.JobProvider": { "type": "integer", "enum": [ 0, 1, 2, 3, 4, 5 ], "x-enum-varnames": [ "LinkedIn", "Indeed", "Glassdoor", "Bayt", "TokyoDev", "JapanDev" ] }, "ports.CreateJobCommand": { "type": "object", "properties": { "fwt": { "type": "string" }, "keywords": { "type": "string" }, "location": { "type": "string" }, "numPages": { "type": "integer" }, "provider": { "$ref": "#/definitions/domain.JobProvider" } } } } }