Ajoute jusqu’à 100 candidats à une campagne et les contacte selon contact_mode : appel immédiat (call), SMS d’invitation (sms) ou email d’invitation (email), avec failover SMS/email
call (défaut) — Appel téléphonique automatique immédiat. email requis pour chaque candidat.
sms — SMS d’invitation à passer l’entretien, avec lien personnalisé (0,25 crédit). Le candidat clique et lance lui-même l’entretien quand il le souhaite. Failover email : si le phone est absent ou invalide mais qu’un email valide est fourni, l’invitation part par email (gratuit).
email — Email d’invitation à passer l’entretien, avec lien personnalisé (gratuit). Failover SMS : si l’email est absent ou invalide mais qu’un phone valide est fourni, l’invitation part par SMS (0,25 crédit).
Pour sms et email, chaque candidat doit fournir au moins une coordonnée valide (phone ou email), sinon il est rejeté.
Numéro de téléphone (format E.164, principalement FR). Requis si contact_mode = "call". Pour sms/email, au moins un de phone ou email doit être valide.Formats acceptés :
Adresse email du candidat. Requis si contact_mode = "call". Pour sms/email, au moins un de phone ou email doit être valide (le failover bascule automatiquement sur le canal disponible).
L’exemple ci-dessus correspond au mode call. En modes sms et email, la réponse a la forme : candidates_sourced, candidates_skipped, sms_sent, emails_sent, errors.
Les candidats déjà présents dans la campagne (même téléphone ou même email) sont ignorés (skipped)
Maximum 100 candidats par requête
En modes sms et email, un failover s’applique par candidat : si le canal principal n’a pas de coordonnée valide, l’autre canal est utilisé s’il est disponible. Le coût facturé correspond au canal réellement utilisé.
Le coût en crédits dépend du canal effectivement utilisé :
Canal utilisé
Action
Coût par candidat traité avec succès
call (défaut)
Appel téléphonique automatique immédiat
1 crédit (transaction_type = campaign)
sms
SMS d’invitation avec lien personnalisé
0,25 crédit (transaction_type = sourcing)
email
Email d’invitation avec lien personnalisé
Gratuit
Aucun crédit n’est débité pour les candidats skippés (doublon), ni en cas d’échec d’envoi.
sms : SMS d'invitation à passer l'entretien (0,25 crédit). Failover email : si le phone est absent/invalide mais qu'un email valide est fourni, l'invitation part par email (gratuit).
email : email d'invitation à passer l'entretien (gratuit). Failover SMS : si l'email est absent/invalide mais qu'un phone valide est fourni, l'invitation part par SMS (0,25 crédit).
Pour sms et email, chaque candidat doit fournir au moins une coordonnée valide (phone OU email), sinon il est rejeté.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"VoiceHire API Documentation","colors":{"primary":"#4F46E5","light":"#6366F1","dark":"#4338CA"},"logo":{"light":"https://mintcdn.com/voicehire/8DWXySjqWU2zsx-c/logo/dark.png?fit=max\u0026auto=format\u0026n=8DWXySjqWU2zsx-c\u0026q=85\u0026s=03e3199e8ce6eb1a831ac9478d0746ba","dark":"https://mintcdn.com/voicehire/8DWXySjqWU2zsx-c/logo/light.png?fit=max\u0026auto=format\u0026n=8DWXySjqWU2zsx-c\u0026q=85\u0026s=0c5c3f6b9c2ee1b1e8b9b28b3bcc6e9c"},"favicon":"https://mintcdn.com/voicehire/8DWXySjqWU2zsx-c/favicon.png?fit=max\u0026auto=format\u0026n=8DWXySjqWU2zsx-c\u0026q=85\u0026s=ef55f978625ab4cdd0fd1c61b9097963","api":{"playground":{},"mdx":{"auth":{"method":"key","name":"X-API-Key"}}},"navbar":{"links":[{"href":"mailto:support@voicehire.io","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.voicehire.io"}},"integrations":{"intercom":{"appId":"YOUR_INTERCOM_APP_ID"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Application VoiceHire","icon":"browser","href":"https://app.voicehire.io"},{"anchor":"Site Web","icon":"globe","href":"https://www.voicehire.io"},{"anchor":"Support","icon":"envelope","href":"mailto:support@voicehire.io"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"voicehire","hasAudioNarration":false,"actualSubdomain":"voicehire","customDomains":["docs.voicehire.io"],"gitSource":{"type":"github","owner":"voicehire","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{},"buildId":"6ae92a490c4f53f93336ed5f:success","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"API Reference","count":11},{"language":"default","tag":"Campagnes","count":6},{"language":"default","tag":"Documentation","count":6},{"language":"default","tag":"Candidats","count":3},{"language":"default","tag":"Démarrage","count":3},{"language":"default","tag":"Guides","count":3},{"language":"default","tag":"Compte","count":2}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/candidates/add-candidates","slug":"/api-reference/candidates/add-candidates","pageMetadata":{"title":"Ajouter des candidats","openapi":"POST /api/v1/campaigns/{campaign_id}/candidates","description":"Ajoute jusqu'à 100 candidats à une campagne et les contacte selon contact_mode : appel immédiat (call), SMS d'invitation (sms) ou email d'invitation (email), avec failover SMS/email","playground":true,"href":"/api-reference/candidates/add-candidates"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Ajoute jusqu’à 100 candidats à une campagne et les contacte selon contact_mode : appel immédiat (call), SMS d’invitation (sms) ou email d’invitation (email), avec failover SMS/email\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Expandable,Heading,Note,ParamField,ResponseField,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`paramètres`,children:`Paramètres`}),`\n`,_jsx(ParamField,{path:`campaign_id`,type:`string`,required:true,id:`param-campaign-id`,children:_jsx(_components.p,{children:`Identifiant unique de la campagne`})}),`\n`,_jsx(Heading,{level:`2`,id:`corps-de-la-requête`,children:`Corps de la requête`}),`\n`,_jsxs(ParamField,{body:`contact_mode`,type:`string`,default:`call`,id:`param-contact-mode`,children:[_jsx(_components.p,{children:`Méthode de contact :`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`call`}),` (défaut) — Appel téléphonique automatique immédiat. `,_jsx(_components.code,{children:`email`}),` requis pour chaque candidat.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`sms`}),` — SMS d’invitation à passer l’entretien, avec lien personnalisé (0,25 crédit). Le candidat clique et lance lui-même l’entretien quand il le souhaite. `,_jsx(_components.strong,{children:`Failover email`}),` : si le `,_jsx(_components.code,{children:`phone`}),` est absent ou invalide mais qu’un `,_jsx(_components.code,{children:`email`}),` valide est fourni, l’invitation part par email (gratuit).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`email`}),` — Email d’invitation à passer l’entretien, avec lien personnalisé (gratuit). `,_jsx(_components.strong,{children:`Failover SMS`}),` : si l’`,_jsx(_components.code,{children:`email`}),` est absent ou invalide mais qu’un `,_jsx(_components.code,{children:`phone`}),` valide est fourni, l’invitation part par SMS (0,25 crédit).`]}),`\n`]}),_jsxs(_components.p,{children:[`Pour `,_jsx(_components.code,{children:`sms`}),` et `,_jsx(_components.code,{children:`email`}),`, chaque candidat doit fournir au moins une coordonnée valide (`,_jsx(_components.code,{children:`phone`}),` ou `,_jsx(_components.code,{children:`email`}),`), sinon il est rejeté.`]})]}),`\n`,_jsxs(ParamField,{body:`candidates`,type:`array`,required:true,id:`param-candidates`,children:[_jsx(_components.p,{children:`Liste des candidats à ajouter (maximum 100)`}),_jsxs(Expandable,{title:`Propriétés de chaque candidat`,children:[_jsx(ParamField,{body:`first_name`,type:`string`,required:true,id:`param-first-name`,children:_jsx(_components.p,{children:`Prénom du candidat`})}),_jsx(ParamField,{body:`last_name`,type:`string`,required:true,id:`param-last-name`,children:_jsx(_components.p,{children:`Nom de famille du candidat`})}),_jsxs(ParamField,{body:`phone`,type:`string`,id:`param-phone`,children:[_jsxs(_components.p,{children:[`Numéro de téléphone (format E.164, principalement FR). Requis si `,_jsx(_components.code,{children:`contact_mode = \"call\"`}),`. Pour `,_jsx(_components.code,{children:`sms`}),`/`,_jsx(_components.code,{children:`email`}),`, au moins un de `,_jsx(_components.code,{children:`phone`}),` ou `,_jsx(_components.code,{children:`email`}),` doit être valide.`]}),_jsx(_components.p,{children:`Formats acceptés :`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`0612345678`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`06 12 34 56 78`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`+33612345678`})}),`\n`]})]}),_jsx(ParamField,{body:`email`,type:`string`,id:`param-email`,children:_jsxs(_components.p,{children:[`Adresse email du candidat. Requis si `,_jsx(_components.code,{children:`contact_mode = \"call\"`}),`. Pour `,_jsx(_components.code,{children:`sms`}),`/`,_jsx(_components.code,{children:`email`}),`, au moins un de `,_jsx(_components.code,{children:`phone`}),` ou `,_jsx(_components.code,{children:`email`}),` doit être valide (le failover bascule automatiquement sur le canal disponible).`]})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`réponse`,children:`Réponse`}),`\n`,`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`L’exemple ci-dessus correspond au mode `,_jsx(_components.code,{children:`call`}),`. En modes `,_jsx(_components.code,{children:`sms`}),` et `,_jsx(_components.code,{children:`email`}),`, la réponse a la forme : `,_jsx(_components.code,{children:`candidates_sourced`}),`, `,_jsx(_components.code,{children:`candidates_skipped`}),`, `,_jsx(_components.code,{children:`sms_sent`}),`, `,_jsx(_components.code,{children:`emails_sent`}),`, `,_jsx(_components.code,{children:`errors`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`campaign_id`,type:`string`,required:true,id:`param-campaign-id-1`,children:_jsx(_components.p,{children:`Identifiant de la campagne`})}),`\n`,_jsx(ResponseField,{name:`candidates_added`,type:`integer`,required:true,id:`param-candidates-added`,children:_jsx(_components.p,{children:`Nombre de candidats ajoutés avec succès`})}),`\n`,_jsx(ResponseField,{name:`candidates_skipped`,type:`integer`,required:true,id:`param-candidates-skipped`,children:_jsx(_components.p,{children:`Nombre de candidats ignorés (déjà présents dans la campagne)`})}),`\n`,_jsx(ResponseField,{name:`calls_queued`,type:`integer`,required:true,id:`param-calls-queued`,children:_jsx(_components.p,{children:`Nombre d’appels mis en file d’attente`})}),`\n`,_jsxs(ResponseField,{name:`errors`,type:`array`,id:`param-errors`,children:[_jsx(_components.p,{children:`Liste des erreurs rencontrées`}),_jsxs(Expandable,{title:`Propriétés`,children:[_jsx(ResponseField,{name:`index`,type:`integer`,id:`param-index`,children:_jsx(_components.p,{children:`Index du candidat dans le tableau (commence à 0)`})}),_jsx(ResponseField,{name:`error`,type:`string`,id:`param-error`,children:_jsx(_components.p,{children:`Description de l’erreur`})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`exemple-de-requête`,children:`Exemple de requête`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`19`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`19`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://app.voicehire.io/api/v1/campaigns/abc123def456/candidates`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"X-API-Key: vh_live_XXXXXXXXXXXXX\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"candidates\": [`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"first_name\": \"Jean\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"last_name\": \"Dupont\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"phone\": \"0612345678\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"email\": \"jean.dupont@example.com\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"first_name\": \"Marie\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"last_name\": \"Martin\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"phone\": \"0687654321\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"email\": \"marie.martin@example.com\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Python`,numberOfLines:`25`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`25`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` requests`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`response `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` requests.post(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://app.voicehire.io/api/v1/campaigns/abc123def456/candidates\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` headers`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"X-API-Key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"vh_live_XXXXXXXXXXXXX\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"application/json\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` json`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"candidates\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"first_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Jean\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"last_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Dupont\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"phone\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0612345678\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"jean.dupont@example.com\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"first_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Marie\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"last_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Martin\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"phone\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0687654321\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"marie.martin@example.com\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Node.js`,numberOfLines:`27`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`27`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` axios`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` require`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'axios'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` axios`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`post`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://app.voicehire.io/api/v1/campaigns/abc123def456/candidates'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` candidates:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` first_name:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Jean'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` last_name:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Dupont'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` phone:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '0612345678'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` email:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'jean.dupont@example.com'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` first_name:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Marie'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` last_name:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Martin'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` phone:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '0687654321'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` email:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'marie.martin@example.com'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` headers:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'X-API-Key'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'vh_live_XXXXXXXXXXXXX'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'application/json'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`notes-importantes`,children:`Notes importantes`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Les candidats déjà présents dans la campagne (même téléphone `,_jsx(_components.strong,{children:`ou`}),` même email) sont ignorés (skipped)`]}),`\n`,_jsx(_components.li,{children:`Maximum 100 candidats par requête`}),`\n`,_jsxs(_components.li,{children:[`En modes `,_jsx(_components.code,{children:`sms`}),` et `,_jsx(_components.code,{children:`email`}),`, un `,_jsx(_components.strong,{children:`failover`}),` s’applique par candidat : si le canal principal n’a pas de coordonnée valide, l’autre canal est utilisé s’il est disponible. Le coût facturé correspond au canal `,_jsx(_components.strong,{children:`réellement utilisé`}),`.`]}),`\n`,_jsx(_components.li,{children:`Le coût en crédits dépend du canal effectivement utilisé :`}),`\n`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Canal utilisé`}),_jsx(_components.th,{children:`Action`}),_jsx(_components.th,{children:`Coût par candidat traité avec succès`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`call`}),` (défaut)`]}),_jsx(_components.td,{children:`Appel téléphonique automatique immédiat`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`1 crédit`}),` (`,_jsx(_components.code,{children:`transaction_type = campaign`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`sms`})}),_jsx(_components.td,{children:`SMS d’invitation avec lien personnalisé`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`0,25 crédit`}),` (`,_jsx(_components.code,{children:`transaction_type = sourcing`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`email`})}),_jsx(_components.td,{children:`Email d’invitation avec lien personnalisé`}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Gratuit`})})]})]})]}),`\n`,_jsx(_components.p,{children:`Aucun crédit n’est débité pour les candidats skippés (doublon), ni en cas d’échec d’envoi.`}),`\n`,_jsx(Heading,{level:`2`,id:`codes-d’erreur`,children:`Codes d’erreur`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Code`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:`Données invalides (format incorrect, champs manquants)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`401`}),_jsx(_components.td,{children:`Clé API manquante ou invalide`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`402`}),_jsx(_components.td,{children:`Crédits insuffisants`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`404`}),_jsx(_components.td,{children:`Campagne non trouvée`})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Ajouter des candidats","openapi":"POST /api/v1/campaigns/{campaign_id}/candidates","description":"Ajoute jusqu'à 100 candidats à une campagne et les contacte selon contact_mode : appel immédiat (call), SMS d'invitation (sms) ou email d'invitation (email), avec failover SMS/email","playground":true,"href":"/api-reference/candidates/add-candidates"}}},"mdxSourceWithNoJs":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Expandable,Heading,Note,ParamField,ResponseExample,ResponseField,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`paramètres`,children:`Paramètres`}),`\n`,_jsx(ParamField,{path:`campaign_id`,type:`string`,required:true,id:`param-campaign-id`,children:_jsx(_components.p,{children:`Identifiant unique de la campagne`})}),`\n`,_jsx(Heading,{level:`2`,id:`corps-de-la-requête`,children:`Corps de la requête`}),`\n`,_jsxs(ParamField,{body:`contact_mode`,type:`string`,default:`call`,id:`param-contact-mode`,children:[_jsx(_components.p,{children:`Méthode de contact :`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`call`}),` (défaut) — Appel téléphonique automatique immédiat. `,_jsx(_components.code,{children:`email`}),` requis pour chaque candidat.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`sms`}),` — SMS d’invitation à passer l’entretien, avec lien personnalisé (0,25 crédit). Le candidat clique et lance lui-même l’entretien quand il le souhaite. `,_jsx(_components.strong,{children:`Failover email`}),` : si le `,_jsx(_components.code,{children:`phone`}),` est absent ou invalide mais qu’un `,_jsx(_components.code,{children:`email`}),` valide est fourni, l’invitation part par email (gratuit).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`email`}),` — Email d’invitation à passer l’entretien, avec lien personnalisé (gratuit). `,_jsx(_components.strong,{children:`Failover SMS`}),` : si l’`,_jsx(_components.code,{children:`email`}),` est absent ou invalide mais qu’un `,_jsx(_components.code,{children:`phone`}),` valide est fourni, l’invitation part par SMS (0,25 crédit).`]}),`\n`]}),_jsxs(_components.p,{children:[`Pour `,_jsx(_components.code,{children:`sms`}),` et `,_jsx(_components.code,{children:`email`}),`, chaque candidat doit fournir au moins une coordonnée valide (`,_jsx(_components.code,{children:`phone`}),` ou `,_jsx(_components.code,{children:`email`}),`), sinon il est rejeté.`]})]}),`\n`,_jsxs(ParamField,{body:`candidates`,type:`array`,required:true,id:`param-candidates`,children:[_jsx(_components.p,{children:`Liste des candidats à ajouter (maximum 100)`}),_jsxs(Expandable,{title:`Propriétés de chaque candidat`,children:[_jsx(ParamField,{body:`first_name`,type:`string`,required:true,id:`param-first-name`,children:_jsx(_components.p,{children:`Prénom du candidat`})}),_jsx(ParamField,{body:`last_name`,type:`string`,required:true,id:`param-last-name`,children:_jsx(_components.p,{children:`Nom de famille du candidat`})}),_jsxs(ParamField,{body:`phone`,type:`string`,id:`param-phone`,children:[_jsxs(_components.p,{children:[`Numéro de téléphone (format E.164, principalement FR). Requis si `,_jsx(_components.code,{children:`contact_mode = \"call\"`}),`. Pour `,_jsx(_components.code,{children:`sms`}),`/`,_jsx(_components.code,{children:`email`}),`, au moins un de `,_jsx(_components.code,{children:`phone`}),` ou `,_jsx(_components.code,{children:`email`}),` doit être valide.`]}),_jsx(_components.p,{children:`Formats acceptés :`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`0612345678`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`06 12 34 56 78`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`+33612345678`})}),`\n`]})]}),_jsx(ParamField,{body:`email`,type:`string`,id:`param-email`,children:_jsxs(_components.p,{children:[`Adresse email du candidat. Requis si `,_jsx(_components.code,{children:`contact_mode = \"call\"`}),`. Pour `,_jsx(_components.code,{children:`sms`}),`/`,_jsx(_components.code,{children:`email`}),`, au moins un de `,_jsx(_components.code,{children:`phone`}),` ou `,_jsx(_components.code,{children:`email`}),` doit être valide (le failover bascule automatiquement sur le canal disponible).`]})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`réponse`,children:`Réponse`}),`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`12`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"campaign_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"abc123def456\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"candidates_added\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`23`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"candidates_skipped\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"calls_queued\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`23`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"errors\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"index\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`5`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Numéro de téléphone invalide\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`L’exemple ci-dessus correspond au mode `,_jsx(_components.code,{children:`call`}),`. En modes `,_jsx(_components.code,{children:`sms`}),` et `,_jsx(_components.code,{children:`email`}),`, la réponse a la forme : `,_jsx(_components.code,{children:`candidates_sourced`}),`, `,_jsx(_components.code,{children:`candidates_skipped`}),`, `,_jsx(_components.code,{children:`sms_sent`}),`, `,_jsx(_components.code,{children:`emails_sent`}),`, `,_jsx(_components.code,{children:`errors`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`campaign_id`,type:`string`,required:true,id:`param-campaign-id-1`,children:_jsx(_components.p,{children:`Identifiant de la campagne`})}),`\n`,_jsx(ResponseField,{name:`candidates_added`,type:`integer`,required:true,id:`param-candidates-added`,children:_jsx(_components.p,{children:`Nombre de candidats ajoutés avec succès`})}),`\n`,_jsx(ResponseField,{name:`candidates_skipped`,type:`integer`,required:true,id:`param-candidates-skipped`,children:_jsx(_components.p,{children:`Nombre de candidats ignorés (déjà présents dans la campagne)`})}),`\n`,_jsx(ResponseField,{name:`calls_queued`,type:`integer`,required:true,id:`param-calls-queued`,children:_jsx(_components.p,{children:`Nombre d’appels mis en file d’attente`})}),`\n`,_jsxs(ResponseField,{name:`errors`,type:`array`,id:`param-errors`,children:[_jsx(_components.p,{children:`Liste des erreurs rencontrées`}),_jsxs(Expandable,{title:`Propriétés`,children:[_jsx(ResponseField,{name:`index`,type:`integer`,id:`param-index`,children:_jsx(_components.p,{children:`Index du candidat dans le tableau (commence à 0)`})}),_jsx(ResponseField,{name:`error`,type:`string`,id:`param-error`,children:_jsx(_components.p,{children:`Description de l’erreur`})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`exemple-de-requête`,children:`Exemple de requête`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`19`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`19`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://app.voicehire.io/api/v1/campaigns/abc123def456/candidates`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"X-API-Key: vh_live_XXXXXXXXXXXXX\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"candidates\": [`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"first_name\": \"Jean\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"last_name\": \"Dupont\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"phone\": \"0612345678\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"email\": \"jean.dupont@example.com\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"first_name\": \"Marie\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"last_name\": \"Martin\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"phone\": \"0687654321\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"email\": \"marie.martin@example.com\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Python`,numberOfLines:`25`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`25`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` requests`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`response `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` requests.post(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://app.voicehire.io/api/v1/campaigns/abc123def456/candidates\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` headers`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"X-API-Key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"vh_live_XXXXXXXXXXXXX\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"application/json\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` json`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"candidates\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"first_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Jean\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"last_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Dupont\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"phone\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0612345678\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"jean.dupont@example.com\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"first_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Marie\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"last_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Martin\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"phone\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0687654321\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"marie.martin@example.com\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Node.js`,numberOfLines:`27`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`27`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` axios`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` require`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'axios'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` axios`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`post`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://app.voicehire.io/api/v1/campaigns/abc123def456/candidates'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` candidates:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` first_name:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Jean'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` last_name:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Dupont'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` phone:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '0612345678'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` email:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'jean.dupont@example.com'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` first_name:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Marie'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` last_name:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Martin'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` phone:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '0687654321'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` email:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'marie.martin@example.com'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` headers:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'X-API-Key'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'vh_live_XXXXXXXXXXXXX'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'application/json'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`notes-importantes`,children:`Notes importantes`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Les candidats déjà présents dans la campagne (même téléphone `,_jsx(_components.strong,{children:`ou`}),` même email) sont ignorés (skipped)`]}),`\n`,_jsx(_components.li,{children:`Maximum 100 candidats par requête`}),`\n`,_jsxs(_components.li,{children:[`En modes `,_jsx(_components.code,{children:`sms`}),` et `,_jsx(_components.code,{children:`email`}),`, un `,_jsx(_components.strong,{children:`failover`}),` s’applique par candidat : si le canal principal n’a pas de coordonnée valide, l’autre canal est utilisé s’il est disponible. Le coût facturé correspond au canal `,_jsx(_components.strong,{children:`réellement utilisé`}),`.`]}),`\n`,_jsx(_components.li,{children:`Le coût en crédits dépend du canal effectivement utilisé :`}),`\n`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Canal utilisé`}),_jsx(_components.th,{children:`Action`}),_jsx(_components.th,{children:`Coût par candidat traité avec succès`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`call`}),` (défaut)`]}),_jsx(_components.td,{children:`Appel téléphonique automatique immédiat`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`1 crédit`}),` (`,_jsx(_components.code,{children:`transaction_type = campaign`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`sms`})}),_jsx(_components.td,{children:`SMS d’invitation avec lien personnalisé`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`0,25 crédit`}),` (`,_jsx(_components.code,{children:`transaction_type = sourcing`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`email`})}),_jsx(_components.td,{children:`Email d’invitation avec lien personnalisé`}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Gratuit`})})]})]})]}),`\n`,_jsx(_components.p,{children:`Aucun crédit n’est débité pour les candidats skippés (doublon), ni en cas d’échec d’envoi.`}),`\n`,_jsx(Heading,{level:`2`,id:`codes-d’erreur`,children:`Codes d’erreur`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Code`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:`Données invalides (format incorrect, champs manquants)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`401`}),_jsx(_components.td,{children:`Clé API manquante ou invalide`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`402`}),_jsx(_components.td,{children:`Crédits insuffisants`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`404`}),_jsx(_components.td,{children:`Campagne non trouvée`})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Ajouter des candidats","openapi":"POST /api/v1/campaigns/{campaign_id}/candidates","description":"Ajoute jusqu'à 100 candidats à une campagne et les contacte selon contact_mode : appel immédiat (call), SMS d'invitation (sms) ou email d'invitation (email), avec failover SMS/email","playground":true,"href":"/api-reference/candidates/add-candidates"}}}},"mdxExtracts":{"tableOfContents":[{"title":"Paramètres","slug":"paramètres","depth":2,"children":[]},{"title":"Corps de la requête","slug":"corps-de-la-requête","depth":2,"children":[]},{"title":"Réponse","slug":"réponse","depth":2,"children":[]},{"title":"Exemple de requête","slug":"exemple-de-requête","depth":2,"children":[]},{"title":"Notes importantes","slug":"notes-importantes","depth":2,"children":[]},{"title":"Codes d’erreur","slug":"codes-d’erreur","depth":2,"children":[]}],"codeExamples":{"response":{"type":"ResponseExample","children":[{"filename":"","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"12\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"campaign_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"abc123def456\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"candidates_added\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">23\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"candidates_skipped\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">2\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"calls_queued\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">23\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"errors\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"index\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">5\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"error\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Numéro de téléphone invalide\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> ]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Ajouter des candidats","description":"Ajoute jusqu'à 100 candidats à une campagne et les contacte selon contact_mode : appel immédiat (call), SMS d'invitation (sms) ou email d'invitation (email), avec failover SMS/email","operationId":"addCandidates","tags":["Candidats"],"parameters":["ffa5904e-9c9e-4871-85a7-605ac8a9bab3"],"requestBody":"6be2a59c-04e3-44c8-aeb3-15bc99335b66","responses":{"201":"b546297e-7922-4f5a-8864-f5b92dc81d73","400":"c641b2bf-05c4-4150-aa15-bb64b3494d50","404":"80d4a9b5-8b32-4f85-8422-22d90033d52e"},"method":"post","type":"path","servers":["e9575b2e-df9a-433c-8bfd-b93bcd02ce49","343139b5-b4fa-4adc-a1f9-68705020647e"],"security":["0a0ec279-0fce-4080-81c3-2142558844df"],"path":"/api/v1/campaigns/{campaign_id}/candidates","baseUrlOptions":["https://app.voicehire.io","http://localhost:8080"],"title":"Ajouter des candidats","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExamples":[{"dropdown":false,"language":"json","code":{"type":"pre","key":null,"ref":null,"props":{"className":"shiki shiki-themes github-light-default dark-plus","style":{"backgroundColor":"#ffffff","--shiki-dark-bg":"#0B0C0E","color":"#1f2328","--shiki-dark":"#D4D4D4"},"language":"json","children":{"type":"code","key":null,"ref":null,"props":{"language":"json","numberOfLines":"12","children":[{"type":"span","key":"0","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":"{"}}}},"\n",{"type":"span","key":"2","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"campaign_id\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"abc123def456\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"4","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"candidates_added\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#B5CEA8"},"children":"23"}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"6","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"candidates_skipped\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#B5CEA8"},"children":"2"}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"8","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"calls_queued\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#B5CEA8"},"children":"23"}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"10","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"errors\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": ["}}]}},"\n",{"type":"span","key":"12","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":" {"}}}},"\n",{"type":"span","key":"14","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"index\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#B5CEA8"},"children":"5"}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"16","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"error\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"Numéro de téléphone invalide\""}}]}},"\n",{"type":"span","key":"18","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":" }"}}}},"\n",{"type":"span","key":"20","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":" ]"}}}},"\n",{"type":"span","key":"22","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":"}"}}}},"\n"]}}}},"filename":""}],"responseExampleType":"mdx"},"dependencies":{"parameters":{"ffa5904e-9c9e-4871-85a7-605ac8a9bab3":{"name":"campaign_id","in":"path","required":true,"description":"Identifiant de la campagne","schema":{"type":"string","isRequired":true,"description":"Identifiant de la campagne","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["candidates"],"properties":{"candidates":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"object","required":["first_name","last_name","phone"],"properties":{"first_name":{"type":"string","description":"Prénom du candidat","example":"Jean","isRequired":true,"uniqueKey":"candidates.items.[INDEX].first_name","typeLabel":"string"},"last_name":{"type":"string","description":"Nom du candidat","example":"Dupont","isRequired":true,"uniqueKey":"candidates.items.[INDEX].last_name","typeLabel":"string"},"phone":{"type":"string","description":"Numéro de téléphone (format E.164, principalement FR)","example":33612345678,"isRequired":true,"uniqueKey":"candidates.items.[INDEX].phone","typeLabel":"string"},"email":{"type":"string","format":"email","description":"Email du candidat. Requis si `contact_mode = call`. Pour `sms`/`email`, au moins une coordonnée valide (`phone` ou `email`) est requise — le failover bascule automatiquement sur le canal disponible.\n","example":"jean.dupont@example.com","uniqueKey":"candidates.items.[INDEX].email","typeLabel":"string\u003cemail>"}},"uniqueKey":"candidates.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"candidates","typeLabel":"object[]"},"contact_mode":{"type":"string","enum":["call","sms","email"],"default":"call","description":"Méthode de contact :\n- `call` (défaut) : appel téléphonique automatique immédiat. `email` requis par candidat.\n- `sms` : SMS d'invitation à passer l'entretien (0,25 crédit). **Failover email** : si le `phone` est absent/invalide mais qu'un `email` valide est fourni, l'invitation part par email (gratuit).\n- `email` : email d'invitation à passer l'entretien (gratuit). **Failover SMS** : si l'`email` est absent/invalide mais qu'un `phone` valide est fourni, l'invitation part par SMS (0,25 crédit).\n\nPour `sms` et `email`, chaque candidat doit fournir au moins une coordonnée valide (`phone` OU `email`), sinon il est rejeté.\n","uniqueKey":"contact_mode","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"example":{"candidates":[{"first_name":"Jean","last_name":"Dupont","phone_number":"+33612345678","email":"jean.dupont@example.com"},{"first_name":"Marie","last_name":"Martin","phone_number":"+33687654321"}]},"examples":{"Example":{"title":"Example","value":{"candidates":[{"first_name":"Jean","last_name":"Dupont","phone_number":"+33612345678","email":"jean.dupont@example.com"},{"first_name":"Marie","last_name":"Martin","phone_number":"+33687654321"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"b546297e-7922-4f5a-8864-f5b92dc81d73":{"description":"Candidats ajoutés avec succès","content":{"application/json":{"schema":{"type":"object","properties":{"added":{"type":"integer","description":"Nombre de candidats ajoutés","uniqueKey":"added","typeLabel":"integer"},"duplicates":{"type":"integer","description":"Nombre de doublons ignorés","uniqueKey":"duplicates","typeLabel":"integer"},"invalid":{"type":"integer","description":"Nombre de candidats invalides","uniqueKey":"invalid","typeLabel":"integer"},"calls_queued":{"type":"integer","description":"Nombre d'appels en file d'attente","uniqueKey":"calls_queued","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"example":{"added":2,"duplicates":0,"invalid":0,"calls_queued":2},"examples":{"Example":{"title":"Example","value":{"added":2,"duplicates":0,"invalid":0,"calls_queued":2}}},"exampleType":"examples"}},"exampleType":"examples"},"c641b2bf-05c4-4150-aa15-bb64b3494d50":{"description":"Données invalides","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Code d'erreur machine-readable","example":"MISSING_API_KEY","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Message d'erreur human-readable","example":"API key is required","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","description":"Détails supplémentaires sur l'erreur","additionalProperties":true,"uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"MISSING_API_KEY","message":"API key is required","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"80d4a9b5-8b32-4f85-8422-22d90033d52e":{"description":"Campagne non trouvée","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"0a0ec279-0fce-4080-81c3-2142558844df":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Clé API au format vh_live_XXXXX","scopes":[]}}},"servers":{"e9575b2e-df9a-433c-8bfd-b93bcd02ce49":{"url":"https://app.voicehire.io","description":"Production"},"343139b5-b4fa-4adc-a1f9-68705020647e":{"url":"http://localhost:8080","description":"Développement local"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Clé API au format vh_live_XXXXX","scopes":[]},"schema":{"title":"X-API-Key","type":"string","description":"Clé API au format vh_live_XXXXX","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"X-API-Key"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"voicehire","siteName":"VoiceHire API Documentation","title":"Ajouter des candidats - VoiceHire API Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-06-02T11:37:32.124Z","originalFileLocation":"api-reference/candidates/add-candidates.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Ajoute jusqu\u0026#x27;à 100 candidats à une campagne et les contacte selon contact_mode : appel immédiat (call), SMS d\u0026#x27;invitation (sms) ou email d\u0026#x27;invitation (email), avec failover SMS/email\">\u003cmeta data-mint-head name=\"application-name\" content=\"VoiceHire API Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/voicehire/C2_gg2oOcw_wm2fi/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/voicehire/C2_gg2oOcw_wm2fi/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/voicehire/C2_gg2oOcw_wm2fi/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/voicehire/C2_gg2oOcw_wm2fi/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/voicehire/C2_gg2oOcw_wm2fi/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/voicehire/C2_gg2oOcw_wm2fi/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/voicehire/C2_gg2oOcw_wm2fi/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/voicehire/C2_gg2oOcw_wm2fi/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/voicehire/C2_gg2oOcw_wm2fi/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Ajouter des candidats - VoiceHire API Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Ajoute jusqu\u0026#x27;à 100 candidats à une campagne et les contacte selon contact_mode : appel immédiat (call), SMS d\u0026#x27;invitation (sms) ou email d\u0026#x27;invitation (email), avec failover SMS/email\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"VoiceHire API Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.voicehire.io/api-reference/candidates/add-candidates\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://voicehire.mintlify.app/_mintlify/api/og/v2?division=Candidats\u0026amp;title=Ajouter+des+candidats\u0026amp;description=Ajoute+jusqu%27%C3%A0+100+candidats+%C3%A0+une+campagne+et+les+contacte+selon+contact_mode+%3A+appel+imm%C3%A9diat+%28call%29%2C+SMS+d%27invitation+%28sms%29+ou+email+d%27invitation+%28email%29%2C+av\u0026amp;theme=09a3591463202a0487f2021f\u0026amp;signature=276891c6ed9998aafdf718ef6f6c5ed82d3420679bfd5a0341f992329e37022e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Ajouter des candidats - VoiceHire API Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Ajoute jusqu\u0026#x27;à 100 candidats à une campagne et les contacte selon contact_mode : appel immédiat (call), SMS d\u0026#x27;invitation (sms) ou email d\u0026#x27;invitation (email), avec failover SMS/email\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://voicehire.mintlify.app/_mintlify/api/og/v2?division=Candidats\u0026amp;title=Ajouter+des+candidats\u0026amp;description=Ajoute+jusqu%27%C3%A0+100+candidats+%C3%A0+une+campagne+et+les+contacte+selon+contact_mode+%3A+appel+imm%C3%A9diat+%28call%29%2C+SMS+d%27invitation+%28sms%29+ou+email+d%27invitation+%28email%29%2C+av\u0026amp;theme=09a3591463202a0487f2021f\u0026amp;signature=276891c6ed9998aafdf718ef6f6c5ed82d3420679bfd5a0341f992329e37022e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/voicehire/C2_gg2oOcw_wm2fi/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"VoiceHire API Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4F46E5\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.voicehire.io/api-reference/candidates/add-candidates\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/candidates/add-candidates.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.voicehire.io/#organization\",\"name\":\"VoiceHire API Documentation\",\"url\":\"https://docs.voicehire.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/voicehire/8DWXySjqWU2zsx-c/logo/dark.png?fit=max\u0026auto=format\u0026n=8DWXySjqWU2zsx-c\u0026q=85\u0026s=03e3199e8ce6eb1a831ac9478d0746ba\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.voicehire.io#website\",\"name\":\"VoiceHire API Documentation\",\"url\":\"https://docs.voicehire.io\",\"publisher\":{\"@id\":\"https://docs.voicehire.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.voicehire.io/api-reference/candidates/add-candidates#webpage\",\"url\":\"https://docs.voicehire.io/api-reference/candidates/add-candidates\",\"name\":\"Ajouter des candidats\",\"description\":\"Ajoute jusqu'à 100 candidats à une campagne et les contacte selon contact_mode : appel immédiat (call), SMS d'invitation (sms) ou email d'invitation (email), avec failover SMS/email\",\"dateModified\":\"2026-06-02T11:37:32.124Z\",\"isPartOf\":{\"@id\":\"https://docs.voicehire.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.voicehire.io/api-reference/candidates/add-candidates#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.voicehire.io/api-reference/candidates/add-candidates#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"VoiceHire API Documentation\",\"item\":\"https://docs.voicehire.io\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ajouter des candidats\",\"item\":\"https://docs.voicehire.io/api-reference/candidates/add-candidates\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.voicehire.io/api-reference/candidates/add-candidates#apireference\",\"headline\":\"Ajouter des candidats\",\"name\":\"Ajouter des candidats\",\"description\":\"Ajoute jusqu'à 100 candidats à une campagne et les contacte selon contact_mode : appel immédiat (call), SMS d'invitation (sms) ou email d'invitation (email), avec failover SMS/email\",\"url\":\"https://docs.voicehire.io/api-reference/candidates/add-candidates\",\"mainEntityOfPage\":{\"@id\":\"https://docs.voicehire.io/api-reference/candidates/add-candidates#webpage\"},\"dateModified\":\"2026-06-02T11:37:32.124Z\",\"publisher\":{\"@id\":\"https://docs.voicehire.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.voicehire.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"VoiceHire API Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"VoiceHire API Documentation","nav":{"global":{"anchors":[{"anchor":"Application VoiceHire","icon":"browser","href":"https://app.voicehire.io"},{"anchor":"Site Web","icon":"globe","href":"https://www.voicehire.io"},{"anchor":"Support","icon":"envelope","href":"mailto:support@voicehire.io"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"API Reference","groups":[{"group":"Campagnes","pages":[{"title":"Lister les campagnes","openapi":"GET /api/v1/campaigns","playground":true,"href":"/api-reference/campaigns/list-campaigns"},{"title":"Créer une campagne","openapi":"POST /api/v1/campaigns/create","playground":true,"href":"/api-reference/campaigns/create-campaign"},{"title":"Modifier une campagne","openapi":"PATCH /api/v1/campaigns/{campaign_id}","playground":true,"href":"/api-reference/campaigns/update-campaign"},{"title":"Obtenir les détails d'une campagne","openapi":"GET /api/v1/campaigns/{campaign_id}/details","playground":true,"href":"/api-reference/campaigns/get-campaign-details"},{"title":"Obtenir le statut d'une campagne","openapi":"GET /api/v1/campaigns/{campaign_id}/status","playground":true,"href":"/api-reference/campaigns/get-campaign-status"},{"title":"Mettre à jour le statut d'une campagne","openapi":"PATCH /api/v1/campaigns/{campaign_id}/status","description":"Change le statut d'une campagne pour contrôler le flux des appels","playground":true,"href":"/api-reference/campaigns/update-campaign-status"}]},{"group":"Candidats","pages":[{"title":"Ajouter des candidats","openapi":"POST /api/v1/campaigns/{campaign_id}/candidates","playground":true,"href":"/api-reference/candidates/add-candidates"},{"title":"Lister les candidats","openapi":"GET /api/v1/campaigns/{campaign_id}/candidates","description":"Récupère la liste des candidats d'une campagne avec leur synthèse d'entretien","playground":true,"href":"/api-reference/candidates/list-candidates"},{"title":"Obtenir les détails d'un candidat","openapi":"GET /api/v1/candidates/{candidate_id}","playground":true,"href":"/api-reference/candidates/get-candidate-details"}]},{"group":"Compte","pages":[{"title":"Obtenir les informations de crédits","openapi":"GET /api/v1/account/credits","playground":true,"href":"/api-reference/account/get-credits"},{"title":"Lister les voix disponibles","openapi":"GET /api/v1/voices","playground":true,"href":"/api-reference/account/list-voices"}]}]}]},"basePath":"","title":"Ajouter des candidats - VoiceHire API Documentation","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DX1Meug0.js","utils-B_OMIQVC.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChxhRPMa.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CuKvD8Iv.js","snippetPresets-C5d7p2hp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CfHcE8m4.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C1zZV314.js","shallow-CmQhqCJn.js","getApiPlaygroundDisplay-YRo9s1O7.js","CodeSnippet-RN1MTdfk.js","CodeSnippets-DKLPHxJA.js","Page-BAvA99GL.js","getPastedJson-bz0M41mU.js","icon-CsmhpPrv.js","MethodPill-CNGsVE77.js","DuplicateIcon-DilfU_Z2.js","createIcon-BdsYzQck.js","DynamicMarkdown-CbqEDjbV.js","SectionHeading-O6hXpFCN.js","axios-vUo_bRtp.js","Markdown-nKm-uidQ.js","clsx-ClVdStUn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CIQkMg3R.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ImrFS4Fy.js"]}