Skip to main content
PATCH
/
api
/
v1
/
campaigns
/
{campaign_id}
curl --request PATCH \
  --url https://app.voicehire.io/api/v1/campaigns/{campaign_id} \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "enable_close": true,
  "close_message": "Merci pour votre temps, nous reviendrons vers vous sous 48h."
}
'
{
  "campaign_id": "abc123",
  "updated_at": "2026-04-30T14:23:11.123456"
}

Documentation Index

Fetch the complete documentation index at: https://docs.voicehire.io/llms.txt

Use this file to discover all available pages before exploring further.

Paramètres

campaign_id
string
required
Identifiant unique de la campagne

Corps de la requête

Tous les champs sont optionnels — seuls les champs fournis dans le payload sont modifiés. Si questions est fourni, l’ensemble des questions est remplacé (et question_weights devient obligatoire).

Métadonnées

job_title
string
Titre du poste à pourvoir
contract_type
string
Type de contrat (mêmes valeurs que la création)
job_description
string
Description détaillée du poste
additional_info
string
Informations complémentaires
client_name
string
Nom de l’entreprise cliente
language
string
Langue de la campagne (fr, en, es)

Voix de l’agent IA

override_agent_id
string
Nouvel ID de voix. Récupérer la liste via GET /api/v1/voices.Passer null réinitialise sur la voix par défaut de la langue de la campagne.

Questions

questions
array
Liste de questions (max 10). Si fourni, remplace toutes les questions existantes.
question_weights
array
Poids de chaque question (0, 0.5, 1, 1.5, 2). Requis si questions est fourni.
question_binary_evaluations
array
Évaluation binaire (oui/non) par question.

Toggles d’entretien

enable_salary_question
string
Non, Annuelles, Mensuelles ou Horaires
enable_job_search_question
boolean
enable_availability_question
boolean
enable_introduction_question
boolean
enable_engage
boolean
enable_recapInterview
boolean
enable_recapJob
boolean
enable_close
boolean

Messages personnalisés

engage_message
string
Message d’accroche (350 caractères max). Passer null ou chaîne vide pour le retirer.
close_message
string
Message de clôture (350 caractères max).
recap_job_message
string
Message de récap offre (350 caractères max).

Sélection automatique

automatic_selection_threshold
number
8.0, 8.5, 9.0, 9.5, 10.0, ou null pour désactiver.

Test linguistique

language_test_mode
string
none, english, spanish, italian, german, chinese, portuguese, arabic.Passer none efface aussi custom_language_question.
custom_language_question
string
Question additionnelle (traduite automatiquement). Nécessite language_test_mode != "none".

Réponse

{
  "campaign_id": "abc123",
  "updated_at": "2026-04-30T14:23:11.123456"
}
campaign_id
string
required
Identifiant de la campagne modifiée
updated_at
string
required
Timestamp ISO 8601 de la mise à jour

Exemples

# Activer le message de clôture
curl -X PATCH https://app.voicehire.io/api/v1/campaigns/abc123 \
  -H "X-API-Key: vh_live_XXXXXXXXXXXXX" \
  -H "Content-Type: application/json" \
  -d '{
    "enable_close": true,
    "close_message": "Merci pour votre temps, nous reviendrons vers vous sous 48h."
  }'

Notes importantes

  • Pour changer uniquement le statut (active/paused/completed), utiliser plutôt PATCH /campaigns/{campaign_id}/status.
  • Si questions est fourni, toutes les questions existantes sont remplacées (pas de patch partiel sur les questions).
  • Le drapeau is_voice_clone est toujours déduit automatiquement depuis override_agent_id, vous ne devez pas l’envoyer.

Codes d’erreur

CodecodeDescription
400INVALID_CONTRACT_TYPEType de contrat invalide
400INVALID_LANGUAGELangue non supportée
400INVALID_OVERRIDE_AGENT_IDVoix introuvable ou non accessible
400WEIGHTS_MISMATCH / BINARY_EVALUATIONS_MISMATCHTableau de poids/évaluations incohérent
400MESSAGE_TOO_LONGMessage > 350 caractères
401INVALID_API_KEY / MISSING_API_KEYClé API invalide
404CAMPAIGN_NOT_FOUNDCampagne introuvable ou n’appartenant pas à votre agence

Authorizations

X-API-Key
string
header
required

Clé API au format vh_live_XXXXX

Path Parameters

campaign_id
string
required

Identifiant de la campagne

Body

application/json

Modification d'une campagne existante. Tous les champs sont optionnels — seuls les champs fournis sont modifiés. Si questions est fourni, question_weights est obligatoire et l'ensemble des questions est remplacé.

job_title
string
contract_type
enum<string>
Available options:
CDI,
CDD,
Stage,
Intérim,
Contrat d'apprentissage,
Contrat de professionnalisation,
Freelance
job_description
string
additional_info
string
client_name
string
language
enum<string>
Available options:
fr,
en,
es
questions
string[]
Maximum array length: 10
question_weights
enum<number>[]
Available options:
0,
0.5,
1,
1.5,
2
question_binary_evaluations
boolean[]
enable_salary_question
enum<string>
Available options:
Non,
Annuelles,
Mensuelles,
Horaires
enable_job_search_question
boolean
enable_availability_question
boolean
enable_introduction_question
boolean
enable_engage
boolean
engage_message
string | null
Maximum string length: 350
enable_recapInterview
boolean
enable_recapJob
boolean
recap_job_message
string | null
Maximum string length: 350
enable_close
boolean
close_message
string | null
Maximum string length: 350
automatic_selection_threshold
enum<number> | null
Available options:
8,
8.5,
9,
9.5,
10
override_agent_id
string | null
language_test_mode
enum<string>
Available options:
none,
english,
spanish,
italian,
german,
chinese,
portuguese,
arabic
custom_language_question
string | null

Response

Campagne mise à jour

campaign_id
string
updated_at
string<date-time>