| { |
| "info": { |
| "name": "JobPortal API", |
| "description": "Complete API collection for the JobPortal backend", |
| "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" |
| }, |
| "variable": [ |
| { "key": "base_url", "value": "http://localhost:8000/api/v1" }, |
| { "key": "access_token", "value": "" }, |
| { "key": "refresh_token", "value": "" } |
| ], |
| "auth": { |
| "type": "bearer", |
| "bearer": [{ "key": "token", "value": "{{access_token}}" }] |
| }, |
| "item": [ |
| { |
| "name": "Auth", |
| "item": [ |
| { |
| "name": "Register", |
| "request": { |
| "method": "POST", |
| "url": "{{base_url}}/auth/register", |
| "body": { "mode": "raw", "raw": "{\"email\": \"user@example.com\", \"password\": \"password123\", \"full_name\": \"Test User\"}", "options": { "raw": { "language": "json" } } } |
| } |
| }, |
| { |
| "name": "Login", |
| "request": { |
| "method": "POST", |
| "url": "{{base_url}}/auth/login", |
| "body": { "mode": "raw", "raw": "{\"email\": \"demo@jobportal.dev\", \"password\": \"demo123\"}", "options": { "raw": { "language": "json" } } } |
| }, |
| "event": [{ "listen": "test", "script": { "exec": ["var json = pm.response.json();", "pm.collectionVariables.set('access_token', json.access_token);", "pm.collectionVariables.set('refresh_token', json.refresh_token);"] } }] |
| }, |
| { |
| "name": "Get Me", |
| "request": { "method": "GET", "url": "{{base_url}}/auth/me" } |
| }, |
| { |
| "name": "Refresh Token", |
| "request": { |
| "method": "POST", |
| "url": "{{base_url}}/auth/refresh", |
| "body": { "mode": "raw", "raw": "{\"refresh_token\": \"{{refresh_token}}\"}", "options": { "raw": { "language": "json" } } } |
| } |
| } |
| ] |
| }, |
| { |
| "name": "Jobs", |
| "item": [ |
| { |
| "name": "Search Jobs", |
| "request": { "method": "GET", "url": { "raw": "{{base_url}}/jobs?q=python&remote=remote&page=1&page_size=10", "host": ["{{base_url}}"], "path": ["jobs"], "query": [{"key": "q", "value": "python"}, {"key": "remote", "value": "remote"}, {"key": "page", "value": "1"}, {"key": "page_size", "value": "10"}] } } |
| }, |
| { |
| "name": "Get Job Detail", |
| "request": { "method": "GET", "url": "{{base_url}}/jobs/{{job_id}}" } |
| }, |
| { |
| "name": "Save Job", |
| "request": { "method": "POST", "url": "{{base_url}}/jobs/{{job_id}}/save", "body": { "mode": "raw", "raw": "{\"notes\": \"Looks interesting\"}", "options": { "raw": { "language": "json" } } } } |
| }, |
| { |
| "name": "Unsave Job", |
| "request": { "method": "DELETE", "url": "{{base_url}}/jobs/{{job_id}}/save" } |
| } |
| ] |
| }, |
| { |
| "name": "Applications", |
| "item": [ |
| { |
| "name": "List (Kanban)", |
| "request": { "method": "GET", "url": "{{base_url}}/applications" } |
| }, |
| { |
| "name": "Create", |
| "request": { "method": "POST", "url": "{{base_url}}/applications", "body": { "mode": "raw", "raw": "{\"custom_job_title\": \"Senior Engineer\", \"custom_company_name\": \"TechCorp\", \"status\": \"applied\"}", "options": { "raw": { "language": "json" } } } } |
| }, |
| { |
| "name": "Update Status", |
| "request": { "method": "PATCH", "url": "{{base_url}}/applications/{{app_id}}", "body": { "mode": "raw", "raw": "{\"status\": \"interviewing\"}", "options": { "raw": { "language": "json" } } } } |
| }, |
| { |
| "name": "Delete", |
| "request": { "method": "DELETE", "url": "{{base_url}}/applications/{{app_id}}" } |
| }, |
| { |
| "name": "Add Interview", |
| "request": { "method": "POST", "url": "{{base_url}}/applications/{{app_id}}/interviews", "body": { "mode": "raw", "raw": "{\"interview_type\": \"technical\", \"scheduled_at\": \"2026-06-01T10:00:00Z\", \"duration_minutes\": 60}", "options": { "raw": { "language": "json" } } } } |
| } |
| ] |
| }, |
| { |
| "name": "AI", |
| "item": [ |
| { |
| "name": "Resume Review", |
| "request": { "method": "POST", "url": "{{base_url}}/ai/resume-review", "body": { "mode": "raw", "raw": "{\"resume_text\": \"Senior Engineer with 5 years experience...\", \"target_role\": \"Staff Engineer\"}", "options": { "raw": { "language": "json" } } } } |
| }, |
| { |
| "name": "Job Match", |
| "request": { "method": "POST", "url": "{{base_url}}/ai/job-match", "body": { "mode": "raw", "raw": "{\"resume_text\": \"...\", \"job_description\": \"...\"}", "options": { "raw": { "language": "json" } } } } |
| }, |
| { |
| "name": "Cover Letter", |
| "request": { "method": "POST", "url": "{{base_url}}/ai/cover-letter", "body": { "mode": "raw", "raw": "{\"resume_text\": \"...\", \"job_description\": \"...\", \"company_name\": \"Google\"}", "options": { "raw": { "language": "json" } } } } |
| }, |
| { |
| "name": "List Providers", |
| "request": { "method": "GET", "url": "{{base_url}}/ai/providers" } |
| }, |
| { |
| "name": "Interview Questions", |
| "request": { "method": "POST", "url": "{{base_url}}/ai/interview/questions", "body": { "mode": "raw", "raw": "{\"job_title\": \"Senior Engineer\", \"job_description\": \"Build distributed systems...\", \"interview_type\": \"behavioral\", \"num_questions\": 5}", "options": { "raw": { "language": "json" } } } } |
| }, |
| { |
| "name": "Company Research", |
| "request": { "method": "POST", "url": "{{base_url}}/ai/interview/company-research", "body": { "mode": "raw", "raw": "{\"company_name\": \"Stripe\", \"job_title\": \"Backend Engineer\"}", "options": { "raw": { "language": "json" } } } } |
| } |
| ] |
| }, |
| { |
| "name": "Profile & Resume", |
| "item": [ |
| { |
| "name": "Get Profile", |
| "request": { "method": "GET", "url": "{{base_url}}/profile" } |
| }, |
| { |
| "name": "Update Profile", |
| "request": { "method": "PATCH", "url": "{{base_url}}/profile", "body": { "mode": "raw", "raw": "{\"headline\": \"Full Stack Engineer\", \"location\": \"SF, CA\"}", "options": { "raw": { "language": "json" } } } } |
| }, |
| { |
| "name": "List Resumes", |
| "request": { "method": "GET", "url": "{{base_url}}/resumes" } |
| }, |
| { |
| "name": "Create Resume", |
| "request": { "method": "POST", "url": "{{base_url}}/resumes", "body": { "mode": "raw", "raw": "{\"name\": \"SWE Resume\", \"template_id\": \"simple\", \"target_role\": \"Senior SWE\"}", "options": { "raw": { "language": "json" } } } } |
| } |
| ] |
| }, |
| { |
| "name": "Alerts & Notifications", |
| "item": [ |
| { |
| "name": "List Alerts", |
| "request": { "method": "GET", "url": "{{base_url}}/alerts" } |
| }, |
| { |
| "name": "Create Alert", |
| "request": { "method": "POST", "url": "{{base_url}}/alerts", "body": { "mode": "raw", "raw": "{\"name\": \"Remote React Jobs\", \"query\": \"React\", \"filters\": {\"remote_type\": \"remote\"}, \"alert_frequency\": \"daily\"}", "options": { "raw": { "language": "json" } } } } |
| }, |
| { |
| "name": "List Notifications", |
| "request": { "method": "GET", "url": "{{base_url}}/notifications" } |
| }, |
| { |
| "name": "Mark All Read", |
| "request": { "method": "POST", "url": "{{base_url}}/notifications/read-all" } |
| } |
| ] |
| }, |
| { |
| "name": "Export", |
| "item": [ |
| { |
| "name": "Export Applications CSV", |
| "request": { "method": "GET", "url": "{{base_url}}/export/applications/csv" } |
| }, |
| { |
| "name": "Export Profile JSON (GDPR)", |
| "request": { "method": "GET", "url": "{{base_url}}/export/profile/json" } |
| }, |
| { |
| "name": "Delete Account", |
| "request": { "method": "DELETE", "url": "{{base_url}}/export/account" } |
| } |
| ] |
| }, |
| { |
| "name": "Admin", |
| "item": [ |
| { |
| "name": "System Health", |
| "request": { "method": "GET", "url": "{{base_url}}/admin/health" } |
| }, |
| { |
| "name": "List Sources", |
| "request": { "method": "GET", "url": "{{base_url}}/admin/sources" } |
| }, |
| { |
| "name": "Create Source", |
| "request": { "method": "POST", "url": "{{base_url}}/admin/sources", "body": { "mode": "raw", "raw": "{\"name\": \"Greenhouse - Stripe\", \"source_type\": \"ats_api\", \"domain\": \"stripe.com\", \"base_url\": \"https://boards-api.greenhouse.io/v1/boards/stripe/jobs\", \"ats_vendor\": \"greenhouse\", \"ats_config\": {\"board_token\": \"stripe\"}}", "options": { "raw": { "language": "json" } } } } |
| }, |
| { |
| "name": "Trigger Scrape", |
| "request": { "method": "POST", "url": "{{base_url}}/admin/sources/{{source_id}}/scrape" } |
| } |
| ] |
| } |
| ] |
| } |
|
|