{
  "info": {
    "name": "Recruitment Domain - Complete API",
    "description": "Complete Recruitment domain API endpoints covering all recruitment operations",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "name": "Job Titles",
      "description": "Job Title management endpoints",
      "item": [
        {
          "name": "List Job Titles",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/recruitment/job-titles?per_page=15&page=1&sort=-created_at",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "job-titles"],
              "query": [
                {
                  "key": "per_page",
                  "value": "15"
                },
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "sort",
                  "value": "-created_at"
                }
              ]
            }
          }
        },
        {
          "name": "Create Job Title",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"title_ar\": \"مهندس برمجيات\",\n  \"title_en\": \"Software Engineer\",\n  \"description_ar\": \"وظيفة مهندس برمجيات متقدم\",\n  \"description_en\": \"Advanced Software Engineer position\",\n  \"min_salary\": 5000,\n  \"max_salary\": 10000,\n  \"department_id\": 1,\n  \"required_experience\": 3,\n  \"is_active\": true\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/recruitment/job-titles",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "job-titles"]
            }
          }
        },
        {
          "name": "Get Active Job Titles",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/recruitment/job-titles/active",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "job-titles", "active"]
            }
          }
        },
        {
          "name": "Get Job Title",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/recruitment/job-titles/1",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "job-titles", "1"]
            }
          }
        },
        {
          "name": "Update Job Title",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"title_ar\": \"مهندس برمجيات كبير\",\n  \"title_en\": \"Senior Software Engineer\",\n  \"min_salary\": 7000,\n  \"max_salary\": 15000,\n  \"required_experience\": 5\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/recruitment/job-titles/1",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "job-titles", "1"]
            }
          }
        },
        {
          "name": "Delete Job Title",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/recruitment/job-titles/1",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "job-titles", "1"]
            }
          }
        }
      ]
    },
    {
      "name": "Candidates",
      "description": "Candidate management endpoints",
      "item": [
        {
          "name": "List Candidates",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/recruitment/candidates?per_page=15&page=1&status=applied",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "candidates"],
              "query": [
                {
                  "key": "per_page",
                  "value": "15"
                },
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "status",
                  "value": "applied"
                }
              ]
            }
          }
        },
        {
          "name": "Create Candidate",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"full_name\": \"Ahmed Hassan\",\n  \"email\": \"ahmed@example.com\",\n  \"phone\": \"+966501234567\",\n  \"city\": \"Riyadh\",\n  \"gender\": \"male\",\n  \"age\": 28,\n  \"years_of_experience\": 3,\n  \"available_date\": \"2026-02-01\",\n  \"expected_salary\": 8000,\n  \"cv_path\": \"/cvs/ahmed_cv.pdf\",\n  \"source\": \"LinkedIn\",\n  \"status\": \"applied\",\n  \"match_score\": 85\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/recruitment/candidates",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "candidates"]
            }
          }
        },
        {
          "name": "Get Candidate",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/recruitment/candidates/1",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "candidates", "1"]
            }
          }
        },
        {
          "name": "Update Candidate",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"status\": \"interview_scheduled\",\n  \"match_score\": 90,\n  \"notes\": \"Excellent candidate\"\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/recruitment/candidates/1",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "candidates", "1"]
            }
          }
        },
        {
          "name": "Delete Candidate",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/recruitment/candidates/1",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "candidates", "1"]
            }
          }
        }
      ]
    },
    {
      "name": "Job Openings",
      "description": "Job Opening management endpoints",
      "item": [
        {
          "name": "List Job Openings",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/recruitment/job-openings?per_page=15&page=1&status=published",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "job-openings"],
              "query": [
                {
                  "key": "per_page",
                  "value": "15"
                },
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "status",
                  "value": "published"
                }
              ]
            }
          }
        },
        {
          "name": "Create Job Opening",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"recruitment_request_id\": 1,\n  \"job_title\": \"Senior PHP Developer\",\n  \"description\": \"We are looking for an experienced PHP developer\",\n  \"department_id\": 1,\n  \"number_of_vacancies\": 2,\n  \"employment_type\": \"full-time\",\n  \"salary_range_min\": 8000,\n  \"salary_range_max\": 15000,\n  \"required_experience_years\": 5,\n  \"required_skills\": [\"PHP\", \"Laravel\", \"MySQL\"],\n  \"status\": \"published\"\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/recruitment/job-openings",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "job-openings"]
            }
          }
        },
        {
          "name": "Get Job Opening",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/recruitment/job-openings/1",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "job-openings", "1"]
            }
          }
        },
        {
          "name": "Update Job Opening",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"status\": \"closed\",\n  \"description\": \"Position closed\"\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/recruitment/job-openings/1",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "job-openings", "1"]
            }
          }
        },
        {
          "name": "Delete Job Opening",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/recruitment/job-openings/1",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "job-openings", "1"]
            }
          }
        }
      ]
    },
    {
      "name": "Recruitment Requests",
      "description": "Recruitment Request management endpoints",
      "item": [
        {
          "name": "List Recruitment Requests",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/recruitment/recruitment-requests?per_page=15&page=1&status=approved",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "recruitment-requests"],
              "query": [
                {
                  "key": "per_page",
                  "value": "15"
                },
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "status",
                  "value": "approved"
                }
              ]
            }
          }
        },
        {
          "name": "Create Recruitment Request",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"job_title_id\": 1,\n  \"department_id\": 1,\n  \"number_of_vacancies\": 2,\n  \"employment_type\": \"full-time\",\n  \"reason\": \"Business expansion\",\n  \"additional_notes\": \"Urgent recruitment needed\",\n  \"status\": \"draft\"\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/recruitment/recruitment-requests",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "recruitment-requests"]
            }
          }
        },
        {
          "name": "Get Recruitment Request",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/recruitment/recruitment-requests/1",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "recruitment-requests", "1"]
            }
          }
        },
        {
          "name": "Update Recruitment Request",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number_of_vacancies\": 3,\n  \"additional_notes\": \"Expanded scope\"\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/recruitment/recruitment-requests/1",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "recruitment-requests", "1"]
            }
          }
        },
        {
          "name": "Delete Recruitment Request",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/recruitment/recruitment-requests/1",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "recruitment-requests", "1"]
            }
          }
        }
      ]
    },
    {
      "name": "Candidate Assessments",
      "description": "Candidate assessment management endpoints",
      "item": [
        {
          "name": "List Assessments",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/recruitment/assessments?per_page=15&page=1&status=pending",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "assessments"],
              "query": [
                {
                  "key": "per_page",
                  "value": "15"
                },
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "status",
                  "value": "pending"
                }
              ]
            }
          }
        },
        {
          "name": "Create Assessment",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"candidate_id\": 1,\n  \"job_opening_id\": 1,\n  \"hiring_stage_id\": 2,\n  \"assessor_id\": 1,\n  \"assessment_date\": \"2026-01-20\",\n  \"scores\": {\n    \"technical\": 85,\n    \"communication\": 80,\n    \"problem_solving\": 88\n  },\n  \"comments\": \"Excellent candidate\",\n  \"status\": \"submitted\"\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/recruitment/assessments",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "assessments"]
            }
          }
        },
        {
          "name": "Get Assessment",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/recruitment/assessments/1",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "assessments", "1"]
            }
          }
        },
        {
          "name": "Update Assessment",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"scores\": {\n    \"technical\": 90,\n    \"communication\": 85,\n    \"problem_solving\": 92\n  },\n  \"status\": \"approved\"\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/recruitment/assessments/1",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "assessments", "1"]
            }
          }
        },
        {
          "name": "Delete Assessment",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/recruitment/assessments/1",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "assessments", "1"]
            }
          }
        }
      ]
    },
    {
      "name": "Job Offers",
      "description": "Job Offer management endpoints",
      "item": [
        {
          "name": "List Job Offers",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/recruitment/job-offers?per_page=15&page=1&status=sent",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "job-offers"],
              "query": [
                {
                  "key": "per_page",
                  "value": "15"
                },
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "status",
                  "value": "sent"
                }
              ]
            }
          }
        },
        {
          "name": "Create Job Offer",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"candidate_id\": 1,\n  \"job_opening_id\": 1,\n  \"contract_type\": \"permanent\",\n  \"job_title\": \"Senior Developer\",\n  \"department_id\": 1,\n  \"salary\": 12000,\n  \"benefits\": [\"Health insurance\", \"Annual leave\"],\n  \"start_date\": \"2026-02-15\",\n  \"expiry_date\": \"2026-02-01\",\n  \"status\": \"draft\",\n  \"created_by\": 1\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/recruitment/job-offers",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "job-offers"]
            }
          }
        },
        {
          "name": "Get Job Offer",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/recruitment/job-offers/1",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "job-offers", "1"]
            }
          }
        },
        {
          "name": "Update Job Offer",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"salary\": 13000,\n  \"status\": \"sent\"\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/recruitment/job-offers/1",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "job-offers", "1"]
            }
          }
        },
        {
          "name": "Delete Job Offer",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/recruitment/job-offers/1",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "job-offers", "1"]
            }
          }
        }
      ]
    },
    {
      "name": "Employee Exits",
      "description": "Employee Exit management endpoints",
      "item": [
        {
          "name": "List Employee Exits",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/recruitment/employee-exits?per_page=15&page=1&status=notice_period",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "employee-exits"],
              "query": [
                {
                  "key": "per_page",
                  "value": "15"
                },
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "status",
                  "value": "notice_period"
                }
              ]
            }
          }
        },
        {
          "name": "Create Employee Exit",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"employee_id\": 1,\n  \"exit_type\": \"resignation\",\n  \"notice_date\": \"2026-01-20\",\n  \"exit_date\": \"2026-02-20\",\n  \"reason\": \"Career change\",\n  \"comments\": \"Employee resignation\",\n  \"status\": \"notice_period\",\n  \"initiated_by\": 1\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/recruitment/employee-exits",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "employee-exits"]
            }
          }
        },
        {
          "name": "Get Employee Exit",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/recruitment/employee-exits/1",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "employee-exits", "1"]
            }
          }
        },
        {
          "name": "Update Employee Exit",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"status\": \"final_processing\",\n  \"comments\": \"Final processing started\"\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/recruitment/employee-exits/1",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "employee-exits", "1"]
            }
          }
        },
        {
          "name": "Delete Employee Exit",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/recruitment/employee-exits/1",
              "host": ["{{BASE_URL}}"],
              "path": ["recruitment", "employee-exits", "1"]
            }
          }
        }
      ]
    }
  ]
}
