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