Create Job
Push a new job offer to Jobzyn.
POST /api/integrations/jobHeaders
| Header | Required | Description |
|---|---|---|
x-api-key | Yes | Your API key |
Content-Type | Yes | application/json |
Request Body
{
"job": {
"id": "YOUR-JOB-ID-123",
"title": "Software Engineer",
"description": "<p>Job description in HTML...</p>",
"responsibilities": "<p>What you will do...</p>",
"qualifications": "<p>What we are looking for...</p>",
"benefits": "Health insurance, Remote work",
"city": "Casablanca",
"country": "Maroc",
"languages": ["fr", "en"],
"contractType": "CDI",
"educationLevel": "Bac+5",
"workMode": "HYBRID",
"minSalary": 8000,
"maxSalary": 12000,
"displaySalary": true,
"yearsOfExperience": "3 - 5 ans",
"recruitmentProcess": ["Phone screening", "Technical interview", "Final interview"]
}
}Job Fields
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Your unique job identifier. Used for all subsequent operations. |
title | string | Yes | Job title |
description | string | No | Job description (HTML supported, sanitized on our side) |
responsibilities | string | No | Responsibilities section (HTML supported) |
qualifications | string | No | Qualifications section (HTML supported) |
benefits | string | string[] | No | Benefits — string or array of strings |
city | string | string[] | No | City name or array of cities |
country | string | No | Country name (defaults to "Maroc") |
languages | ("fr" | "en" | "ar")[] | No | Required languages for the position |
contractType | string | No | Contract type (e.g. CDI, CDD, Stage, Freelance) |
educationLevel | string | No | Required education level |
workMode | "REMOTE" | "HYBRID" | "ONSITE" | No | Work mode for the position |
minSalary | number | No | Minimum net monthly salary |
maxSalary | number | No | Maximum net monthly salary |
displaySalary | boolean | No | Whether to display the salary range publicly on the job page (defaults to false) |
yearsOfExperience | string | No | Required experience range. One of: "0 - 2 ans", "3 - 5 ans", "6 - 9 ans", "10 ans et plus" |
recruitmentProcess | string[] | No | Ordered list of recruitment process steps (e.g. ["Phone screening", "Technical interview"]) |
Any additional fields are accepted and stored for future use.
Response
Success — 200
{
"jobId": 1234,
"jobUrl": "https://www.jobzyn.com/fr/companies/your-company/jobs/software-engineer-abc123",
"error": null
}jobId— internal Jobzyn job ID.jobUrl— public URL of the job page on Jobzyn.
Duplicate — 409
Returned if a job with the same id already exists for your company.
{
"jobId": null,
"error": {
"message": "Job with external id YOUR-JOB-ID-123 already exists"
}
}Use PUT /api/integrations/job/{id} to update an existing job.
Authentication Error — 403
{
"jobId": null,
"error": {
"message": "Invalid API key"
}
}Example
curl -X POST https://www.jobzyn.com/api/integrations/job \
-H "Content-Type: application/json" \
-H "x-api-key: jz_your_api_key_here" \
-d '{
"job": {
"id": "REQ-2024-001",
"title": "Product Manager",
"description": "<p>We are looking for a Product Manager to join our team in Casablanca.</p>",
"city": "Casablanca",
"country": "Maroc",
"contractType": "CDI",
"languages": ["fr", "en"],
"workMode": "HYBRID",
"minSalary": 15000,
"maxSalary": 22000,
"displaySalary": true,
"yearsOfExperience": "3 - 5 ans",
"recruitmentProcess": ["HR interview", "Case study", "Final interview"]
}
}'Last updated on