Skip to Content
EndpointsCreate Job

Create Job

Push a new job offer to Jobzyn.

POST /api/integrations/job

Headers

HeaderRequiredDescription
x-api-keyYesYour API key
Content-TypeYesapplication/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

FieldTypeRequiredDescription
idstringYesYour unique job identifier. Used for all subsequent operations.
titlestringYesJob title
descriptionstringNoJob description (HTML supported, sanitized on our side)
responsibilitiesstringNoResponsibilities section (HTML supported)
qualificationsstringNoQualifications section (HTML supported)
benefitsstring | string[]NoBenefits — string or array of strings
citystring | string[]NoCity name or array of cities
countrystringNoCountry name (defaults to "Maroc")
languages("fr" | "en" | "ar")[]NoRequired languages for the position
contractTypestringNoContract type (e.g. CDI, CDD, Stage, Freelance)
educationLevelstringNoRequired education level
workMode"REMOTE" | "HYBRID" | "ONSITE"NoWork mode for the position
minSalarynumberNoMinimum net monthly salary
maxSalarynumberNoMaximum net monthly salary
displaySalarybooleanNoWhether to display the salary range publicly on the job page (defaults to false)
yearsOfExperiencestringNoRequired experience range. One of: "0 - 2 ans", "3 - 5 ans", "6 - 9 ans", "10 ans et plus"
recruitmentProcessstring[]NoOrdered 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