jobs-monorepo/swagger/swagger.json
2025-10-24 15:24:58 +05:00

108 lines
No EOL
3.2 KiB
JSON

{
"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"
}
}
}
}
}