Skip to main content
POST

Corps de la requête

Champs requis

string
required
Titre du poste à pourvoir
string
required
Type de contrat proposéValeurs possibles (alignées sur le dashboard) :
  • CDI - Contrat à durée indéterminée
  • CDD - Contrat à durée déterminée
  • Stage - Convention de stage
  • Intérim - Mission d’intérim
  • Contrat d'apprentissage
  • Contrat de professionnalisation
  • Freelance - Mission freelance
string
required
Description détaillée du poste, des responsabilités et du profil recherché

Métadonnées (optionnel)

string
Informations complémentaires sur le poste ou l’entreprise
string
Nom de l’entreprise cliente (sera utilisé lors des appels). Par défaut, le nom de l’agence.
string
default:"fr"
Langue de la campagne (agent vocal, emails, SMS, interface candidat)Valeurs possibles : fr, en, es

Questions personnalisées (optionnel)

array
Questions personnalisées d’entretien (maximum 10).Si non fourni, 6 questions sont générées automatiquement par IA depuis la description du poste.
array
Poids associés à chaque question (requis si questions est fourni). Doit avoir la même longueur que questions.Valeurs possibles pour chaque poids : 0, 0.5, 1, 1.5, 2
array
Évaluation binaire (oui/non) par question (optionnel, requis avoir la même longueur que questions si fourni). Chaque élément est un booléen.

Voix de l’agent IA (optionnel)

string
ID de la voix à utiliser. Récupérer la liste via GET /api/v1/voices.Accepte soit un agent_id (voix par défaut VoiceHire) soit un voice_id (clone d’agence).Le drapeau is_voice_clone est déduit automatiquement côté backend.

Toggles d’entretien (optionnel)

string
default:"Non"
Format de la question sur les prétentions salarialesValeurs possibles : Non, Annuelles, Mensuelles, Horaires
boolean
default:"false"
Demander si le candidat est en recherche active
boolean
default:"true"
Demander la date de disponibilité du candidat
boolean
default:"true"
Demander au candidat de se présenter
boolean
VoiceHire Engage — message d’accroche en début d’entretien.Si non fourni, hérite du défaut de l’agence.
string
Texte personnalisé d’accroche (350 caractères max). Utilisé uniquement si enable_engage = true.
boolean
Récap interview au candidat. Si non fourni, hérite du défaut de l’agence.
boolean
Récap offre au candidat. Si non fourni, hérite du défaut de l’agence.
string
Texte personnalisé du récap offre (350 caractères max). Utilisé uniquement si enable_recapJob = true.
boolean
VoiceHire Close — message de clôture personnalisé. Si non fourni, hérite du défaut de l’agence.
string
Texte personnalisé de clôture (350 caractères max). Utilisé uniquement si enable_close = true.

Sélection automatique (optionnel)

number
Score minimum pour la sélection automatique des candidats.Valeurs possibles : 8.0, 8.5, 9.0, 9.5, 10.0. null désactive.

Test linguistique (optionnel)

string
default:"none"
Mode test linguistique pendant l’entretienValeurs possibles : none, english, spanish, italian, german, chinese, portuguese, arabic
string
Question additionnelle pour le test linguistique. Nécessite language_test_mode != "none".Le backend la traduit automatiquement vers la langue cible via OpenAI.

Réponse

string
required
Identifiant unique de la campagne créée
Lien à partager avec les candidats pour postuler
string
required
Statut de la campagne (toujours active à la création)
integer
required
Nombre de questions utilisées pour l’entretien (questions fournies ou générées par IA)

Exemple de requête

Codes d’erreur

Authorizations

X-API-Key
string
header
required

Clé API au format vh_live_XXXXX

Body

application/json
job_title
string
required

Titre du poste

Example:

"Développeur Full Stack Node.js/React"

contract_type
enum<string>
required

Type de contrat (aligné sur les valeurs du dashboard)

Available options:
CDI,
CDD,
Stage,
Intérim,
Contrat d'apprentissage,
Contrat de professionnalisation,
Freelance
Example:

"CDI"

job_description
string
required

Description détaillée du poste

Example:

"Nous recherchons un développeur Full Stack passionné...\n"

additional_info
string

Informations complémentaires

Example:

"Stack technique Node.js, React, PostgreSQL"

client_name
string

Nom de l'entreprise cliente (optionnel, utilise le nom de l'agence par défaut)

Example:

"TechCorp SAS"

language
enum<string>
default:fr

Langue de la campagne (agent vocal, emails, SMS, interface candidat)

Available options:
fr,
en,
es
Example:

"fr"

questions
string[]

Questions personnalisées d'entretien. Si fourni, question_weights est requis.

Maximum array length: 10
question_weights
enum<number>[]

Poids de chaque question. Doit avoir la même longueur que questions.

Available options:
0,
0.5,
1,
1.5,
2
question_binary_evaluations
boolean[]

Évaluation binaire (oui/non) par question. Doit avoir la même longueur que questions.

enable_salary_question
enum<string>
default:Non

Format de la question sur les prétentions salariales

Available options:
Non,
Annuelles,
Mensuelles,
Horaires
enable_job_search_question
boolean
default:false

Demander si le candidat est en recherche active

enable_availability_question
boolean
default:true

Demander la date de disponibilité du candidat

enable_introduction_question
boolean
default:true

Demander au candidat de se présenter

enable_engage
boolean

VoiceHire Engage — message d'accroche en début d'entretien (défaut hérité de l'agence)

engage_message
string

Message personnalisé d'accroche (utilisé si enable_engage = true)

Maximum string length: 350
enable_recapInterview
boolean

Récap interview au candidat (défaut hérité de l'agence)

enable_recapJob
boolean

Récap offre au candidat (défaut hérité de l'agence)

recap_job_message
string

Message personnalisé du récap offre (utilisé si enable_recapJob = true)

Maximum string length: 350
enable_close
boolean

VoiceHire Close — message de clôture (défaut hérité de l'agence)

close_message
string

Message personnalisé de clôture (utilisé si enable_close = true)

Maximum string length: 350
automatic_selection_threshold
enum<number> | null

Score minimum pour la sélection automatique des candidats. null désactive.

Available options:
8,
8.5,
9,
9.5,
10
override_agent_id
string

Voix de l'agent IA. Récupérer la liste via GET /api/v1/voices. Accepte soit un agent_id (voix par défaut VoiceHire) soit un voice_id (clone d'agence). Le drapeau is_voice_clone est déduit automatiquement côté backend.

language_test_mode
enum<string>
default:none

Mode test linguistique pendant l'entretien

Available options:
none,
english,
spanish,
italian,
german,
chinese,
portuguese,
arabic
custom_language_question
string

Question additionnelle pour le test linguistique. Nécessite language_test_mode != "none". Le backend la traduit automatiquement vers la langue cible.

Response

Campagne créée avec succès

campaign_id
string

Identifiant de la campagne créée

Example:

"CAMP-20250701-ABC123"

Lien à partager avec les candidats

Example:

"https://app.voicehire.io/apply/CAMP-20250701-ABC123"

status
string

Statut initial de la campagne

Example:

"active"

questions_generated
integer

Nombre de questions générées

Example:

6

questions_source
enum<string>

Source des questions (IA ou défaut)

Available options:
ai,
default
Example:

"ai"