Piloty API
  • Introduction
  • 🔓Authentication
  • 🔭Scopes and Roles
  • ⏲️Rate limits
  • 📂Pagination
  • ⁉️Errors and Status
  • 🏢COMPANIES API
    • Companies
      • GET : Companies by media
      • GET : Retrieve Company
      • POST : Create company
      • PATCH : Update company
    • Company 's fields
      • GET : List Sectors
      • GET : List Sizes
  • 💼JOBS API
    • Jobs
      • GET : Jobs by media
      • GET : Retrieve job
      • GET : Jobs opened by media
      • GET : Retrieve job opened
      • POST : Create job
      • PATCH : Update job
    • Job's fields
      • GET : List Contracts
      • GET : List Experiences
      • GET : List Educations
      • GET : List Remote policies
      • GET : List Worktimes
      • GET : List Job Categories
  • 👤USERS API
    • Users
      • GET : Users by media
  • 🧑‍💼CANDIDATES API
    • Candidates
      • GET : User candidates by media
      • GET : Job alerts
      • GET : Favoris
    • Opportunities
      • POST : Job applications - v2
      • GET : Job applications
      • 🛑Deprecated - POST : Job applications - v1
  • 📕Changelog
Powered by GitBook
On this page
  1. JOBS API
  2. Jobs

POST : Create job

This endpoint lets you create one job for a given company, inside media.

PreviousGET : Retrieve job openedNextPATCH : Update job

Last updated 1 month ago

This endpoint requires :

• brand_admin, media_admin or media_partner roles.

• r_w_jobs scope.

Important informations

  • This endpoint have a short rate limits →

  • By default, all job published have a maximum duration time of 90 days. After this period they are automatically pass to archived

  • For Data management reason, you can create job only on company currently published inside a media. The error retrieve in this case company-not-published

Create new job

POST https://api-piloty.fr/jobs

Request Body - required

Name
Type
Description

media_public_id*

string

eg: 'acme_media'

company_public_id*

string

eg: 'acme_company'

name*

string

eg: "ACME Company"

contract_id*

string

job_category_id*

string

localisation*

string

eg: "Paris, Ile de France, France"

description_job*

string

eg: "We are looking for ...."

application_method*

enum

external_apply | internal_apply

Request Body - other

Name
Type
Description

application_url

url

Required if application_method === external_apply

state

enum

draft | published | archived

worktime_id

string

remote_policy_id

string

education_id

string

experience_id

string

salary

string

max 30 characters

position_level

string

employee | executive

description_company

string

eg: "ACME company is ...."

description_profile

string

eg: "As a ...."

description_benefits

string

eg: "At ACME Company ...."

description_process

string

eg: "Hiring process ..."

manager_emails

string

The email list will be notified when an automatic action is performed on the job. Separator: ;

Limit: 4 emails.

recruiter_emails

string

The email list will be notified when an application is made on the job.

Separator: ;

Limit: 4 emails.

[
    "data":{
            "name": "Opérateur régleur (H/F)",
            "public_id": "operateur-regleur-h-f-7",
            "company": {
                "public_id": "acme",
                "name": "ACME"
            },
            "worktime": {
                "public_id": "fulltime",
                "name": "Temps plein"
            },
            "remote": {
                "public_id": "never",
                "name": "Pas de télétravail"
            },
            "education": {
                "public_id": "a_level_pro",
                "name": "BAC professionnel"
            },
            "experience": {
                "public_id": "more_than_5_years",
                "name": "> 5 ans"
            },
            "contract": {
                "public_id": "interim",
                "name": "Intérim"
            },
            "office": {
                "public_id": "ymMDEOERPEqM",
                "name": "Lille"
            },
            "location": {
                "address_nbr": null,
                "address": null,
                "city": "Lille",
                "administrative_area_department": "Nord",
                "administrative_area_region": "Hauts-de-France",
                "zip_code": "59260",
                "country": "France",
                "country_code": "FRA"
            },
            "salary": "2 000€ à 2 800€ / mois",
            "description": {
                "company_desc": "<p><strong>Champagne Veuve Clicquot</strong></p><p><strong><em>Depuis sa création en 1772, la Maison Veuve Clicquot Ponsardin élabore de grands vins de Champagne et exporte aujourd’hui plus de 90% de ses vins hors de France, dans plus de 150 pays. Reconnaissable partout dans le monde grâce à sa fameuse couleur « Jaune Clicquot », la Maison se distingue par sa capacité à innover et étonner grâce à la « Clicquot touch » et à sa devise « Une seule qualité, la toute première » !</em></strong></p><p><strong><em>Nous renforçons nos équipes et souhaitons intégrer :</em></strong></p>",
                "job_desc": "<p><strong>Vigneron Qualifié F/H</strong></p><p><strong>Conduite enjambeurs exigée</strong></p>",
                "profile_desc": "<p>Titulaire du Certificat de Taille, vous possédez un BTA, un Bac Pro ou un niveau équivalent.</p><p></p><p>Vous justifiez de 5 ans minimum d'expérience et maîtrisez la conduite des tracteurs enjambeurs (test de conduite mené dans le processus de recrutement).</p><p></p><p>Vous êtes réactif, doté d'un bon relationnel et vous vous épanouissez dans le travail en équipe.</p>",
                "benefit_desc": "<p>Poste en CDI  - à temps complet</p>",
                "process_desc": "<p><strong>Adressez-nous votre candidature en précisant l’intitulé du poste à :</strong></p><p><strong>Veuve Clicquot - Service Ressources Humaines -12, rue du Temple - 51100 REIMS</strong></p><p></p><p><strong>ou par mail : recrutement@moethennessy.com</strong></p><p></p><p><strong>www.veuve-clicquot.fr</strong></p>"
            },
            "questions": [
                {
                    "_id": "62860f2872f9aba0dcbb31ec",
                    "name": "Firstname",
                    "ref": "firstname",
                    "ref_type": "string",
                    "title": {
                        "en": "First name:",
                        "fr": "Prénom"
                    },
                    "placeholder": {
                        "en": "Your First name",
                        "fr": "Votre Prénom"
                    },
                    "is_required": true
                },
                {
                    "_id": "62860f7d72f9aba0dcbb4a12",
                    "name": "Lastname",
                    "ref": "lastname",
                    "ref_type": "string",
                    "title": {
                        "en": "Last name",
                        "fr": "Nom"
                    },
                    "placeholder": {
                        "en": "Your Last name",
                        "fr": "Votre Nom"
                    },
                    "is_required": true
                },
                {
                    "_id": "62860eb872f9aba0dcbb17cd",
                    "ref": "email",
                    "name": "Email",
                    "ref_type": "email",
                    "title": {
                        "en": "Email",
                        "fr": "Adresse email"
                    },
                    "is_required": true
                },
                {
                    "_id": "62860ee372f9aba0dcbb21ba",
                    "name": "Phone number",
                    "ref": "phone_number",
                    "ref_type": "phone_number",
                    "title": {
                        "en": "Phone number",
                        "fr": "Numéro de téléphone"
                    },
                    "placeholder": {
                        "en": "Your phone number",
                        "fr": "Votre Numéro de téléphone"
                    },
                    "is_required": false
                },
                {
                    "_id": "62860d6672f9aba0dcbac1f7",
                    "name": "Comment",
                    "ref": "comment",
                    "ref_type": "string",
                    "title": {
                        "en": "Share your motivation with us",
                        "fr": "Partagez-nous votre motivation"
                    },
                    "placeholder": {
                        "en": "Make them want to hire you! NB: this message will only be shared with the recruitment team .",
                        "fr": "Donnez-leur envie de vous recruter ! NB : ce message ne leur sera transmis qu'à la team recrutement."
                    },
                    "is_required": true
                },
                {
                    "_id": "6286104a72f9aba0dcbb8271",
                    "name": "Resume",
                    "ref": "resume",
                    "ref_type": "url",
                    "title": {
                        "en": "Resume",
                        "fr": "CV"
                    },
                    "placeholder": {
                        "en": "Upload my resume",
                        "fr": "Importer un fichier"
                    },
                    "is_required": true
                }
            ],
            "job_url": "https://jobs.piloty.fr/entreprises/acme/offres/acme-operateur-regleur-h-f-7",
            "apply_url": "https://jobs.piloty.fr/entreprises/acme/offres/acme-operateur-regleur-h-f-7?apply=true",
            "publishedAt": "2024-02-02T12:32:20.339Z",
            "is_redirect_apply": false
        }sPublished": true
        }
]
{
    "status": 401,
    "error": "unauthorized-limitation",
    "errorMessage": "Unauthorized"
}
{
    "status": 400,
    "error": "company-not-published",
    "errorMessage": "Bad Request"
}

Request example

curl -X POST -G "https://api-piloty.fr/jobs
    -H "Authorization: Bearer PILOTY_TOKEN" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -d @- <<EOF
      {
        "media_public_id":"acme_media",
        "company_public_id":"acme_company"
        "name": "Developer Fullstack - Typescript",
        "state": "published",
        "contract_id": "627d164572f9aba0dccf93e7",
        "job_category_id": "620b8440b2588842404cfba4",
        "worktime_id": "633ab32f2cca2e7e75e8676d",
        "remote_policy_id": "633ab1122cca2e7e75e833a8",
        "education_id": "627d19bf72f9aba0dcd0572d",
        "experience_id": "627d1a9e72f9aba0dcd089e8",
        "salary": "Between xxk€ an yyk€ annualy",
        "localisation": "Marly-Le-Roi, France",
        
        "description_company": "ACME company is  ...."
        "description_job": "En tant que Full Stack Tech Lead, vous jouerez un rôle central dans la conception et la mise en œuvre de notre nouvelle plateforme SaaS et de nos systèmes. Vous serez à la fois un(e) développeur(se) expert(e) et un(e) leader technique, capable de guider l’équipe dans les décisions stratégiques, notamment sur l'architecture technique, les technologies à adopter et les bonnes pratiques."
        "description_profile": "As a  ...."
        "description_benefits": "At ACME Company  ...."
        "description_process": "Hiring process ..."
        
        "application_method": "external_apply"
        "application_url": "https://fr.indeed.com/viewjob?jk=aaf4be72940988f4&from=shareddesktop"
       
        "manager_emails": "["maxime@hellotrusty.io","edouard@hellotrusty.io"]",
        "recruiter_emails": "["edouard@hellotrusty.io"]"
      }
      EOF

from

from

from

from

from

from

💼
Rate limits
List Contracts
List Job Categories
List Worktimes
List Remote policies
List Educations
List Experiences