{"openapi":"3.1.0","info":{"title":"Jobiba Job Search API","version":"1.0.0","description":"Public API for Jobiba — a global AI-powered job portal. Search jobs worldwide, get listings, and integrate with AI agents.","contact":{"name":"Jobiba Support","email":"support@jobiba.com","url":"https://jobiba.com"},"license":{"name":"Proprietary"}},"servers":[{"url":"https://jobiba.com","description":"Production"}],"tags":[{"name":"jobs","description":"Job listings"},{"name":"ai","description":"AI-powered search"},{"name":"mcp","description":"Model Context Protocol"},{"name":"feeds","description":"Syndication feeds"}],"paths":{"/api/v1/jobs":{"get":{"tags":["jobs"],"operationId":"listJobs","summary":"Search and list active jobs","description":"Returns paginated job listings. Supports keyword search, location, type, and remote filters.","parameters":[{"name":"q","in":"query","schema":{"type":"string"},"description":"Keyword search"},{"name":"location","in":"query","schema":{"type":"string"},"description":"City or country"},{"name":"type","in":"query","schema":{"type":"string","enum":["FULL_TIME","PART_TIME","CONTRACT","INTERNSHIP","FREELANCE","TEMPORARY"]},"description":"Employment type"},{"name":"remote","in":"query","schema":{"type":"string","enum":["REMOTE","HYBRID","ONSITE"]},"description":"Work mode"},{"name":"page","in":"query","schema":{"type":"integer","default":1,"minimum":1},"description":"Page number"},{"name":"limit","in":"query","schema":{"type":"integer","default":20,"minimum":1,"maximum":100},"description":"Results per page"},{"name":"since","in":"query","schema":{"type":"string","format":"date-time"},"description":"Only return jobs posted after this ISO 8601 datetime"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"meta":{"type":"object","properties":{"total":{"type":"integer"},"page":{"type":"integer"},"limit":{"type":"integer"},"pages":{"type":"integer"}}},"jobs":{"type":"array","items":{"$ref":"#/components/schemas/JobSummary"}}}}}}}}}},"/api/v1/jobs/{slug}":{"get":{"tags":["jobs"],"operationId":"getJob","summary":"Get a single job by slug","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"},"description":"Job slug (e.g. senior-react-developer-a1b2c3d4)"}],"responses":{"200":{"description":"Job details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobDetail"}}}},"404":{"description":"Job not found"}}}},"/api/ai/search":{"post":{"tags":["ai"],"operationId":"aiSearch","summary":"Natural language job search","description":"Parses a natural language query into structured search parameters using AI, then searches jobs. Returns matching jobs and a direct search page URL.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Natural language job search query (e.g. 'senior react developer remote bangalore')","example":"senior react developer remote bangalore 5 years"},"limit":{"type":"integer","default":10,"maximum":50,"description":"Max results"}}}}}},"responses":{"200":{"description":"Search results with parsed query parameters","content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string"},"parsed":{"$ref":"#/components/schemas/ParsedQuery"},"total":{"type":"integer"},"jobs":{"type":"array","items":{"$ref":"#/components/schemas/JobSummary"}},"search_page_url":{"type":"string","format":"uri","description":"Direct link to the matching search results page on Jobiba"}}}}}}}}},"/api/mcp":{"get":{"tags":["mcp"],"operationId":"mcpInfo","summary":"MCP server info and tool list","responses":{"200":{"description":"MCP server metadata and available tools"}}},"post":{"tags":["mcp"],"operationId":"mcpCall","summary":"MCP JSON-RPC 2.0 endpoint","description":"Model Context Protocol server. Supports: initialize, tools/list, tools/call. Tools: search_jobs, get_job, get_application_url, get_user_profile.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"method":{"type":"string","enum":["initialize","tools/list","tools/call"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"params":{"type":"object"}}}}}},"responses":{"200":{"description":"JSON-RPC response"}}}},"/feed.xml":{"get":{"tags":["feeds"],"operationId":"xmlFeed","summary":"XML job feed for aggregators","parameters":[{"name":"location","in":"query","schema":{"type":"string"}},{"name":"category","in":"query","schema":{"type":"string"}},{"name":"employer","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"XML feed","content":{"application/xml":{"schema":{"type":"string"}}}}}}},"/feed.json":{"get":{"tags":["feeds"],"operationId":"jsonFeed","summary":"JSON job feed with Schema.org markup","parameters":[{"name":"location","in":"query","schema":{"type":"string"}},{"name":"category","in":"query","schema":{"type":"string"}},{"name":"employer","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"JSON feed with schema.org JobPosting","content":{"application/json":{"schema":{"type":"object"}}}}}}}},"components":{"schemas":{"JobSummary":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"slug":{"type":"string","example":"senior-react-developer-a1b2c3d4"},"title":{"type":"string"},"company":{"type":"string"},"location":{"type":"string"},"jobType":{"type":"string","enum":["FULL_TIME","PART_TIME","CONTRACT","INTERNSHIP","FREELANCE","TEMPORARY"]},"remoteType":{"type":"string","enum":["REMOTE","HYBRID","ONSITE"]},"salaryMin":{"type":"number","nullable":true},"salaryMax":{"type":"number","nullable":true},"salaryCurrency":{"type":"string","nullable":true},"url":{"type":"string","format":"uri","description":"Jobiba job detail page"},"applyUrl":{"type":"string","format":"uri","nullable":true},"postedAt":{"type":"string","format":"date-time"}}},"JobDetail":{"allOf":[{"$ref":"#/components/schemas/JobSummary"},{"type":"object","properties":{"description":{"type":"string"},"skills":{"type":"array","items":{"type":"string"}},"department":{"type":"string","nullable":true},"experienceLevel":{"type":"string","nullable":true},"expiresAt":{"type":"string","format":"date-time","nullable":true}}}]},"ParsedQuery":{"type":"object","description":"Structured params extracted from natural language query","properties":{"title":{"type":"string","nullable":true},"location":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"country":{"type":"string","nullable":true},"remoteType":{"type":"string","enum":["REMOTE","HYBRID","ONSITE"],"nullable":true},"jobType":{"type":"string","enum":["FULL_TIME","PART_TIME","CONTRACT","INTERNSHIP","FREELANCE"],"nullable":true},"department":{"type":"string","nullable":true},"experienceLevel":{"type":"string","enum":["ENTRY_LEVEL","MID_LEVEL","SENIOR_LEVEL","DIRECTOR"],"nullable":true}}}}}}