best / docs /postman_collection.json
anky2002's picture
feat: Add CI/CD (GitHub Actions), E2E tests (Playwright), deploy scripts (Fly.io + Vercel), admin dashboard, notifications dropdown, Postman collection
e52da89 verified
Raw
History Blame Contribute Delete
9.08 kB
{
"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" }
}
]
}
]
}