Company-scoped API key. Production keys are prefixed sk_live_,
sandbox keys sk_test_, each followed by 22 base62 characters
(pattern ^sk_(live|test)_[0-9A-Za-z]{22}$). Generate keys in the
TapTalent dashboard under Account Settings → Developers → API Key
Management; a key is shown once at generation and old keys are
invalidated immediately on regeneration.
Body
application/json
Request body for the bulk-fetch candidates endpoint.
Candidate IDs that were not found. Only included in the response
when at least one requested ID is invalid. IDs are echoed as
submitted (integer or string); the documented example shows
integers.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/schema.json","name":"Taptalent Partner API","colors":{"primary":"#6e58ff","light":"#6e58ff","dark":"#ab9ffc"},"logo":{"light":"https://mintcdn.com/taptalent/lKy84_BssSCy2hcz/images/TTLogo(1).png?fit=max\u0026auto=format\u0026n=lKy84_BssSCy2hcz\u0026q=85\u0026s=ac7c949427cc2893306f6036415f087e","dark":"https://mintcdn.com/taptalent/lKy84_BssSCy2hcz/images/TTLogo(1).png?fit=max\u0026auto=format\u0026n=lKy84_BssSCy2hcz\u0026q=85\u0026s=ac7c949427cc2893306f6036415f087e","href":"https://taptalent.ai"},"favicon":"https://mintcdn.com/taptalent/lKy84_BssSCy2hcz/images/TTLogo(1).png?fit=max\u0026auto=format\u0026n=lKy84_BssSCy2hcz\u0026q=85\u0026s=ac7c949427cc2893306f6036415f087e","background":{"decoration":"gradient"},"navbar":{"links":[]},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/taptalent-ai","website":"https://taptalent.ai/"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"taptalent","hasAudioNarration":false,"actualSubdomain":"taptalent","customDomains":["docs.taptalent.io"],"gitSource":{"type":"github","owner":"taptalent-ai","repo":"taptalent-docs","deployBranch":"feat/companyCampaignPartnerAPI","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6acf73c9b4870666e533191e","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"API Playground","count":63},{"language":"default","tag":"Documentation","count":26},{"language":"default","tag":"Webhooks","count":20},{"language":"default","tag":"API Reference","count":16},{"language":"default","tag":"Candidate Self-Scheduling","count":13},{"language":"default","tag":"Candidates","count":6},{"language":"default","tag":"Custom Field Values","count":6},{"language":"default","tag":"Pipelines","count":6},{"language":"default","tag":"Custom Fields","count":5},{"language":"default","tag":"Job Candidates","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"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-playground/candidates/bulk-fetch-candidates","slug":"/api-playground/candidates/bulk-fetch-candidates","pageMetadata":{"title":"Bulk fetch candidates","description":"Fetch multiple candidates by their IDs in a single request.\n\nValidation rules:\n\n- `candidateIds` must be provided and cannot be empty.\n- `candidateIds` must be an array.\n- Maximum 100 candidate IDs per request.\n- Each candidate ID must be a valid non-empty string or number.\n\nIDs that are not found are returned in `invalidCandidateIds`, which\nis only included in the response when at least one requested ID is\ninvalid.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /candidates/bulk-fetch","href":"/api-playground/candidates/bulk-fetch-candidates","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n li: \"li\",\n p: \"p\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Fetch multiple candidates by their IDs in a single request.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Validation rules:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"candidateIds\"\n }), \" must be provided and cannot be empty.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"candidateIds\"\n }), \" must be an array.\"]\n }), \"\\n\", _jsx(_components.li, {\n children: \"Maximum 100 candidate IDs per request.\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"Each candidate ID must be a valid non-empty string or number.\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"IDs that are not found are returned in \", _jsx(_components.code, {\n children: \"invalidCandidateIds\"\n }), \", which\\nis only included in the response when at least one requested ID is\\ninvalid.\"]\n })]\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}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Bulk fetch candidates","description":"Fetch multiple candidates by their IDs in a single request.\n\nValidation rules:\n\n- `candidateIds` must be provided and cannot be empty.\n- `candidateIds` must be an array.\n- Maximum 100 candidate IDs per request.\n- Each candidate ID must be a valid non-empty string or number.\n\nIDs that are not found are returned in `invalidCandidateIds`, which\nis only included in the response when at least one requested ID is\ninvalid.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /candidates/bulk-fetch","href":"/api-playground/candidates/bulk-fetch-candidates","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Candidates"],"operationId":"bulkFetchCandidates","summary":"Bulk fetch candidates","description":"Fetch multiple candidates by their IDs in a single request.\n\nValidation rules:\n\n- `candidateIds` must be provided and cannot be empty.\n- `candidateIds` must be an array.\n- Maximum 100 candidate IDs per request.\n- Each candidate ID must be a valid non-empty string or number.\n\nIDs that are not found are returned in `invalidCandidateIds`, which\nis only included in the response when at least one requested ID is\ninvalid.\n","requestBody":"c5c1cde0-2b6e-4fce-b0e8-0183b1171f14","responses":{"200":"7b539c74-206d-4f82-82b6-de66e20849e0","400":"de4cac86-5974-4320-a66f-5b97e341d574","401":"4f56d0bb-568e-4954-90bb-cd4687fa0fd1","429":"4ac49f5e-a09f-4ad0-9980-a914372a6ff8","500":"2e84ce38-64b8-4a29-a5c1-c135abdefaca"},"method":"post","type":"path","servers":["33fc5173-9c79-4ceb-afc4-86a4687d00cd","3a2ed6ba-6976-41bf-ae76-fe04d352e807"],"security":["480f8571-6aa1-4f13-ba5c-c8f2af838410"],"path":"/candidates/bulk-fetch","baseUrlOptions":["https://partner-api.taptalent.io/v1/partner","https://sandbox.partner-api.taptalent.io/v1/partner"],"title":"Bulk fetch candidates","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Request body for the bulk-fetch candidates endpoint.","required":["candidateIds"],"properties":{"candidateIds":{"type":"array","minItems":1,"maxItems":100,"description":"Array of candidate IDs to fetch. Maximum 100 IDs per request. Each\ncandidate ID must be a valid non-empty string or number.\n","items":{"oneOf":[{"type":"integer","uniqueKey":"candidateIds.items.[INDEX].oneOf.0","typeLabel":"integer"},{"type":"string","minLength":1,"uniqueKey":"candidateIds.items.[INDEX].oneOf.1","typeLabel":"string"}],"uniqueKey":"candidateIds.items.[INDEX]","typeLabel":"integer | string"},"isRequired":true,"uniqueKey":"candidateIds","typeLabel":"(integer | string)[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"threeIds":{"title":"threeIds","value":{"candidateIds":[12345,12346,12347]}},"twoIds":{"title":"twoIds","value":{"candidateIds":[12345,12346]}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"7b539c74-206d-4f82-82b6-de66e20849e0":{"description":"Candidates matching the requested IDs. IDs that were not found\nare listed in `invalidCandidateIds` (present only when some IDs\nare invalid).\n","content":{"application/json":{"schema":{"type":"object","description":"Success envelope for the bulk-fetch candidates endpoint.","required":["status","data"],"properties":{"status":{"type":"string","description":"Response status (\"success\").","enum":["success"],"isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"data":{"type":"array","description":"Array of candidate objects.","items":{"type":"object","description":"Candidate object as returned by the list and bulk-fetch endpoints.\nUses compact education and work experience shapes (`duration`-based\nwork experience) rather than the detailed shapes returned by the\ncreate and get-details endpoints.\n","properties":{"id":{"type":"integer","description":"Unique candidate identifier.","uniqueKey":"data.items.[INDEX].id","typeLabel":"integer"},"firstName":{"type":"string","description":"Candidate's first name.","uniqueKey":"data.items.[INDEX].firstName","typeLabel":"string"},"lastName":{"type":"string","description":"Candidate's last name.","uniqueKey":"data.items.[INDEX].lastName","typeLabel":"string"},"email":{"type":"string","description":"Candidate's email address.","uniqueKey":"data.items.[INDEX].email","typeLabel":"string"},"phone":{"type":"string","description":"Candidate's phone number.","uniqueKey":"data.items.[INDEX].phone","typeLabel":"string"},"currentJobTitle":{"type":"string","description":"Current job title.","uniqueKey":"data.items.[INDEX].currentJobTitle","typeLabel":"string"},"currentCompany":{"type":"string","description":"Current company name.","uniqueKey":"data.items.[INDEX].currentCompany","typeLabel":"string"},"city":{"type":"string","description":"City location.","uniqueKey":"data.items.[INDEX].city","typeLabel":"string"},"country":{"type":"string","description":"Country.","uniqueKey":"data.items.[INDEX].country","typeLabel":"string"},"skills":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"data.items.[INDEX].skills.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Candidate skills. Documented and observed responses return an\narray of skill strings; the plain-string variant is inferred from\nthe input-side CSV coercion and is not verified against\nproduction behavior.\n","x-inferred":true,"uniqueKey":"data.items.[INDEX].skills.oneOf.0","typeLabel":"string[]"},{"type":"string","description":"Candidate skills. Documented and observed responses return an\narray of skill strings; the plain-string variant is inferred from\nthe input-side CSV coercion and is not verified against\nproduction behavior.\n","x-inferred":true,"uniqueKey":"data.items.[INDEX].skills.oneOf.1","typeLabel":"string"}],"uniqueKey":"data.items.[INDEX].skills","typeLabel":"string[] | string"},"resume":{"type":"string","description":"URL to the stored resume file.","uniqueKey":"data.items.[INDEX].resume","typeLabel":"string"},"majors":{"type":"array","description":"Array of majors/fields of study. Note: submitted as a\ncomma-separated string on input, returned as an array of strings.\n","items":{"type":"string","uniqueKey":"data.items.[INDEX].majors.items.[INDEX]","typeLabel":"string"},"uniqueKey":"data.items.[INDEX].majors","typeLabel":"string[]"},"summary":{"type":"string","description":"Professional summary.","uniqueKey":"data.items.[INDEX].summary","typeLabel":"string"},"languages":{"type":"array","description":"Array of languages.","items":{"type":"string","uniqueKey":"data.items.[INDEX].languages.items.[INDEX]","typeLabel":"string"},"uniqueKey":"data.items.[INDEX].languages","typeLabel":"string[]"},"educations":{"type":"array","description":"Array of compact education objects.","items":{"type":"object","description":"Compact education object as returned in candidate list responses.","properties":{"degree":{"type":"string","description":"Degree name.","uniqueKey":"data.items.[INDEX].educations.items.[INDEX].degree","typeLabel":"string"},"field":{"type":"string","description":"Field of study.","uniqueKey":"data.items.[INDEX].educations.items.[INDEX].field","typeLabel":"string"},"institution":{"type":"string","description":"Institution name.","uniqueKey":"data.items.[INDEX].educations.items.[INDEX].institution","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].educations.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.items.[INDEX].educations","typeLabel":"object[]"},"workExperiences":{"type":"array","description":"Array of compact work experience objects.","items":{"type":"object","description":"Compact work experience object as returned in candidate list responses.","properties":{"title":{"type":"string","description":"Job title.","uniqueKey":"data.items.[INDEX].workExperiences.items.[INDEX].title","typeLabel":"string"},"company":{"type":"string","description":"Company name.","uniqueKey":"data.items.[INDEX].workExperiences.items.[INDEX].company","typeLabel":"string"},"duration":{"type":"string","description":"Duration of the role (e.g. \"2 years\").","uniqueKey":"data.items.[INDEX].workExperiences.items.[INDEX].duration","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].workExperiences.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.items.[INDEX].workExperiences","typeLabel":"object[]"},"projectExperiences":{"type":"array","description":"Array of project experience objects. Item shape is not shown in\nthe list examples (arrays appear empty); modeled after the detail\nendpoint shape.\n","items":{"type":"object","description":"Project experience object as returned in candidate responses. Differs\nfrom the request-side `CandidateProjectExperienceInput` shape.\n","properties":{"name":{"type":"string","description":"Project name.","uniqueKey":"data.items.[INDEX].projectExperiences.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","description":"Project description.","uniqueKey":"data.items.[INDEX].projectExperiences.items.[INDEX].description","typeLabel":"string"},"technologies":{"type":"array","description":"Technologies used.","items":{"type":"string","uniqueKey":"data.items.[INDEX].projectExperiences.items.[INDEX].technologies.items.[INDEX]","typeLabel":"string"},"uniqueKey":"data.items.[INDEX].projectExperiences.items.[INDEX].technologies","typeLabel":"string[]"}},"uniqueKey":"data.items.[INDEX].projectExperiences.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.items.[INDEX].projectExperiences","typeLabel":"object[]"},"certifications":{"type":"array","description":"Array of certification objects. Item shape is not shown in the\nlist examples (arrays appear empty); modeled after the detail\nendpoint shape.\n","items":{"type":"object","description":"Certification object as returned in candidate responses. Differs from\nthe request-side `CandidateCertificationInput` shape.\n","properties":{"name":{"type":"string","description":"Certification name.","uniqueKey":"data.items.[INDEX].certifications.items.[INDEX].name","typeLabel":"string"},"issuer":{"type":"string","description":"Certification issuer.","uniqueKey":"data.items.[INDEX].certifications.items.[INDEX].issuer","typeLabel":"string"},"issueDate":{"type":"string","format":"date","description":"Issue date.","uniqueKey":"data.items.[INDEX].certifications.items.[INDEX].issueDate","typeLabel":"string\u003cdate>"},"expiryDate":{"type":"string","format":"date","description":"Expiry date.","uniqueKey":"data.items.[INDEX].certifications.items.[INDEX].expiryDate","typeLabel":"string\u003cdate>"}},"uniqueKey":"data.items.[INDEX].certifications.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.items.[INDEX].certifications","typeLabel":"object[]"},"githubUrl":{"type":"string","description":"GitHub profile URL.","uniqueKey":"data.items.[INDEX].githubUrl","typeLabel":"string"},"linkedin":{"type":"string","description":"LinkedIn profile URL.","uniqueKey":"data.items.[INDEX].linkedin","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data","typeLabel":"object[]"},"invalidCandidateIds":{"type":"array","description":"Candidate IDs that were not found. Only included in the response\nwhen at least one requested ID is invalid. IDs are echoed as\nsubmitted (integer or string); the documented example shows\nintegers.\n","items":{"oneOf":[{"type":"integer","uniqueKey":"invalidCandidateIds.items.[INDEX].oneOf.0","typeLabel":"integer"},{"type":"string","uniqueKey":"invalidCandidateIds.items.[INDEX].oneOf.1","typeLabel":"string"}],"uniqueKey":"invalidCandidateIds.items.[INDEX]","typeLabel":"integer | string"},"uniqueKey":"invalidCandidateIds","typeLabel":"(integer | string)[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"partialMatch":{"title":"partialMatch","value":{"status":"success","data":[{"id":12345,"firstName":"John","lastName":"Doe","email":"john.doe@example.com","phone":"+1234567890","currentJobTitle":"Software Engineer","currentCompany":"Tech Corp","city":"San Francisco","country":"United States","skills":["JavaScript","React","Node.js"],"resume":"https://storage.example.com/resumes/john-doe.pdf","majors":["Computer Science"],"summary":"Experienced software engineer...","languages":["English"],"educations":[{"degree":"Bachelor's","field":"Computer Science","institution":"University"}],"workExperiences":[{"title":"Software Engineer","company":"Tech Corp","duration":"2 years"}],"projectExperiences":[],"certifications":[],"githubUrl":"https://github.com/johndoe","linkedin":"https://linkedin.com/in/johndoe"}],"invalidCandidateIds":[12347]}}},"exampleType":"examples"}},"exampleType":"examples"},"de4cac86-5974-4320-a66f-5b97e341d574":{"description":"Validation error. HTTP status inferred from the error category;\nthe source documentation specifies the body but not the status\ncode.\n","content":{"application/json":{"schema":{"type":"object","description":"Canonical error envelope used by most non-authentication errors.","required":["error"],"properties":{"error":{"type":"object","description":"Canonical error object carried under the `error` key.","required":["code","type","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code, e.g. `INVALID_REQUEST`.","examples":["INVALID_REQUEST"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"type":{"type":"string","description":"Error category.","enum":["validation_error","internal_error","not_found","authorization_error","resource_error","payment_error","subscription_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","description":"Optional per-field validation messages or structured error context.","additionalProperties":true,"uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"missingCandidateIds":{"title":"missingCandidateIds","value":{"error":{"code":"MISSING_CANDIDATE_IDS","type":"validation_error","message":"candidateIds is required in the request body"}}},"invalidCandidateIds":{"title":"invalidCandidateIds","value":{"error":{"code":"INVALID_CANDIDATE_IDS","type":"validation_error","message":"candidateIds must be an array","details":{"invalidCount":1}}}},"exceededMaxCandidates":{"title":"exceededMaxCandidates","value":{"error":{"code":"EXCEEDED_MAX_CANDIDATES","type":"validation_error","message":"Maximum 100 candidateIds allowed per request","details":{"provided":150,"maximum":100}}}}},"exampleType":"examples"}},"exampleType":"examples"},"4f56d0bb-568e-4954-90bb-cd4687fa0fd1":{"description":"Authentication failed. Note that authentication errors use flat body\nshapes rather than the canonical `error` envelope.\n","content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"Flat authentication error shape (does not use the canonical `error` envelope).","required":["message"],"properties":{"message":{"type":"string","examples":["Invalid API key"],"isRequired":true,"uniqueKey":"oneOf.0.message","typeLabel":"string"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Flat authentication error shape returned when the account subscription is inactive.","required":["code","message"],"properties":{"code":{"type":"string","examples":["ACCOUNT_INACTIVE"],"isRequired":true,"uniqueKey":"oneOf.1.code","typeLabel":"string"},"message":{"type":"string","examples":["Your subscription is inactive. Please renew your plan to continue using this feature."],"isRequired":true,"uniqueKey":"oneOf.1.message","typeLabel":"string"}},"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","description":"Flat authentication error shape returned when the API key does not exist.","required":["message","isApiKeyExists"],"properties":{"message":{"type":"string","examples":["API key not found"],"isRequired":true,"uniqueKey":"oneOf.2.message","typeLabel":"string"},"isApiKeyExists":{"type":"boolean","isRequired":true,"uniqueKey":"oneOf.2.isApiKeyExists","typeLabel":"boolean"}},"uniqueKey":"oneOf.2","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"invalidApiKey":{"title":"invalidApiKey","value":{"message":"Invalid API key"}},"accountInactive":{"title":"accountInactive","value":{"code":"ACCOUNT_INACTIVE","message":"Your subscription is inactive. Please renew your plan to continue using this feature."}},"apiKeyNotFound":{"title":"apiKeyNotFound","value":{"message":"API key not found","isApiKeyExists":false}}},"exampleType":"examples"}},"exampleType":"examples"},"4ac49f5e-a09f-4ad0-9980-a914372a6ff8":{"x-inferred":true,"description":"Rate limit exceeded. Rate limits are applied at the company level; the\nresponse body below is inferred because the current documentation\nmentions handling 429 responses but does not publish a body. Retry\nwith exponential backoff.\n","content":{"application/json":{"schema":{"type":"object","description":"Canonical error envelope used by most non-authentication errors.","required":["error"],"properties":{"error":{"type":"object","description":"Canonical error object carried under the `error` key.","required":["code","type","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code, e.g. `INVALID_REQUEST`.","examples":["INVALID_REQUEST"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"type":{"type":"string","description":"Error category.","enum":["validation_error","internal_error","not_found","authorization_error","resource_error","payment_error","subscription_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","description":"Optional per-field validation messages or structured error context.","additionalProperties":true,"uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"rateLimited":{"title":"rateLimited","value":{"error":{"code":"RATE_LIMIT_EXCEEDED","type":"validation_error","message":"Too many requests. Please retry with exponential backoff."}}}},"exampleType":"examples"}},"exampleType":"examples"},"2e84ce38-64b8-4a29-a5c1-c135abdefaca":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"type":"object","description":"Canonical error envelope used by most non-authentication errors.","required":["error"],"properties":{"error":{"type":"object","description":"Canonical error object carried under the `error` key.","required":["code","type","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code, e.g. `INVALID_REQUEST`.","examples":["INVALID_REQUEST"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"type":{"type":"string","description":"Error category.","enum":["validation_error","internal_error","not_found","authorization_error","resource_error","payment_error","subscription_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","description":"Optional per-field validation messages or structured error context.","additionalProperties":true,"uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"internalError":{"title":"internalError","value":{"error":{"code":"INTERNAL_ERROR","type":"internal_error","message":"Something went wrong."}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"480f8571-6aa1-4f13-ba5c-c8f2af838410":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API key","description":"Company-scoped API key. Production keys are prefixed `sk_live_`,\nsandbox keys `sk_test_`, each followed by 22 base62 characters\n(pattern `^sk_(live|test)_[0-9A-Za-z]{22}$`). Generate keys in the\nTapTalent dashboard under Account Settings → Developers → API Key\nManagement; a key is shown once at generation and old keys are\ninvalidated immediately on regeneration.\n","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"33fc5173-9c79-4ceb-afc4-86a4687d00cd":{"url":"https://partner-api.taptalent.io/v1/partner","description":"Production (use `sk_live_` keys)"},"3a2ed6ba-6976-41bf-ae76-fe04d352e807":{"url":"https://sandbox.partner-api.taptalent.io/v1/partner","description":"Sandbox / staging (use `sk_test_` keys)"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"API key","description":"Company-scoped API key. Production keys are prefixed `sk_live_`,\nsandbox keys `sk_test_`, each followed by 22 base62 characters\n(pattern `^sk_(live|test)_[0-9A-Za-z]{22}$`). Generate keys in the\nTapTalent dashboard under Account Settings → Developers → API Key\nManagement; a key is shown once at generation and old keys are\ninvalidated immediately on regeneration.\n","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Company-scoped API key. Production keys are prefixed `sk_live_`,\nsandbox keys `sk_test_`, each followed by 22 base62 characters\n(pattern `^sk_(live|test)_[0-9A-Za-z]{22}$`). Generate keys in the\nTapTalent dashboard under Account Settings → Developers → API Key\nManagement; a key is shown once at generation and old keys are\ninvalidated immediately on regeneration.\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"taptalent","siteName":"Taptalent Partner API","title":"Bulk fetch candidates - Taptalent Partner API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-14T12:21:43.260Z","originalFileLocation":"api-playground/candidates/bulk-fetch-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=\"Fetch multiple candidates by their IDs in a single request. Validation rules: - candidateIds must be provided and cannot be empty. - candidateIds must be an array. - Maximum 100 candidate IDs per request. - Each candidate ID must be a valid non-empty string or number. IDs that are not found are returned in invalidCandidateIds, which is only included in the response when at least one requested ID is invalid.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Taptalent Partner API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/taptalent/RGngVHavW5nHpOXk/_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/taptalent/RGngVHavW5nHpOXk/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/taptalent/RGngVHavW5nHpOXk/_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/taptalent/RGngVHavW5nHpOXk/_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/taptalent/RGngVHavW5nHpOXk/_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/taptalent/RGngVHavW5nHpOXk/_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/taptalent/RGngVHavW5nHpOXk/_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/taptalent/RGngVHavW5nHpOXk/_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/taptalent/RGngVHavW5nHpOXk/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Bulk fetch candidates - Taptalent Partner API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Fetch multiple candidates by their IDs in a single request. Validation rules: - candidateIds must be provided and cannot be empty. - candidateIds must be an array. - Maximum 100 candidate IDs per request. - Each candidate ID must be a valid non-empty string or number. IDs that are not found are returned in invalidCandidateIds, which is only included in the response when at least one requested ID is invalid.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Taptalent Partner API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.taptalent.io/api-playground/candidates/bulk-fetch-candidates\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://taptalent.mintlify.site/_mintlify/api/og/v2?division=Candidates\u0026amp;title=Bulk+fetch+candidates\u0026amp;description=Fetch+multiple+candidates+by+their+IDs+in+a+single+request.%0A%0AValidation+rules%3A%0A%0A-+%60candidateIds%60+must+be+provided+and+cannot+be+empty.%0A-+%60candidateIds%60+must+be+\u0026amp;theme=646244e5d078ae15de8cf593\u0026amp;signature=f33f54612ec853ffaec74100534a68e9562cc3622a116738853e8c7fe688662b\">\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=\"Bulk fetch candidates - Taptalent Partner API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Fetch multiple candidates by their IDs in a single request. Validation rules: - candidateIds must be provided and cannot be empty. - candidateIds must be an array. - Maximum 100 candidate IDs per request. - Each candidate ID must be a valid non-empty string or number. IDs that are not found are returned in invalidCandidateIds, which is only included in the response when at least one requested ID is invalid.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://taptalent.mintlify.site/_mintlify/api/og/v2?division=Candidates\u0026amp;title=Bulk+fetch+candidates\u0026amp;description=Fetch+multiple+candidates+by+their+IDs+in+a+single+request.%0A%0AValidation+rules%3A%0A%0A-+%60candidateIds%60+must+be+provided+and+cannot+be+empty.%0A-+%60candidateIds%60+must+be+\u0026amp;theme=646244e5d078ae15de8cf593\u0026amp;signature=f33f54612ec853ffaec74100534a68e9562cc3622a116738853e8c7fe688662b\">\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/taptalent/RGngVHavW5nHpOXk/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Taptalent Partner API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6e58ff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.taptalent.io/api-playground/candidates/bulk-fetch-candidates\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-playground/candidates/bulk-fetch-candidates.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.taptalent.io/#organization\",\"name\":\"Taptalent Partner API\",\"url\":\"https://docs.taptalent.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/taptalent/lKy84_BssSCy2hcz/images/TTLogo(1).png?fit=max\u0026auto=format\u0026n=lKy84_BssSCy2hcz\u0026q=85\u0026s=ac7c949427cc2893306f6036415f087e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.taptalent.io#website\",\"name\":\"Taptalent Partner API\",\"url\":\"https://docs.taptalent.io\",\"publisher\":{\"@id\":\"https://docs.taptalent.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.taptalent.io/api-playground/candidates/bulk-fetch-candidates#webpage\",\"url\":\"https://docs.taptalent.io/api-playground/candidates/bulk-fetch-candidates\",\"name\":\"Bulk fetch candidates\",\"description\":\"Fetch multiple candidates by their IDs in a single request. Validation rules: - candidateIds must be provided and cannot be empty. - candidateIds must be an array. - Maximum 100 candidate IDs per request. - Each candidate ID must be a valid non-empty string or number. IDs that are not found are returned in invalidCandidateIds, which is only included in the response when at least one requested ID is invalid.\",\"dateModified\":\"2026-10-14T12:21:43.260Z\",\"isPartOf\":{\"@id\":\"https://docs.taptalent.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.taptalent.io/api-playground/candidates/bulk-fetch-candidates#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.taptalent.io/api-playground/candidates/bulk-fetch-candidates#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Candidates\",\"item\":\"https://docs.taptalent.io/api-playground/candidates/add-a-candidate\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bulk fetch candidates\",\"item\":\"https://docs.taptalent.io/api-playground/candidates/bulk-fetch-candidates\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.taptalent.io/api-playground/candidates/bulk-fetch-candidates#apireference\",\"headline\":\"Bulk fetch candidates\",\"name\":\"Bulk fetch candidates\",\"description\":\"Fetch multiple candidates by their IDs in a single request. Validation rules: - candidateIds must be provided and cannot be empty. - candidateIds must be an array. - Maximum 100 candidate IDs per request. - Each candidate ID must be a valid non-empty string or number. IDs that are not found are returned in invalidCandidateIds, which is only included in the response when at least one requested ID is invalid.\",\"url\":\"https://docs.taptalent.io/api-playground/candidates/bulk-fetch-candidates\",\"mainEntityOfPage\":{\"@id\":\"https://docs.taptalent.io/api-playground/candidates/bulk-fetch-candidates#webpage\"},\"dateModified\":\"2026-10-14T12:21:43.260Z\",\"publisher\":{\"@id\":\"https://docs.taptalent.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.taptalent.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Taptalent Partner API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Taptalent Partner API","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Playground","groups":[{"group":"Jobs","pages":[{"title":"List jobs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /jobs","href":"/api-playground/jobs/list-jobs"},{"title":"Create a job","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /jobs","href":"/api-playground/jobs/create-a-job"},{"title":"Get a job","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /jobs/{jobId}","href":"/api-playground/jobs/get-a-job"},{"title":"Update a job","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /jobs/{jobId}","href":"/api-playground/jobs/update-a-job"}]},{"group":"Candidates","pages":[{"title":"Add a candidate","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /candidates","href":"/api-playground/candidates/add-a-candidate"},{"title":"List candidates","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /candidates/list","href":"/api-playground/candidates/list-candidates"},{"title":"Get candidate details","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /candidates/{candidateId}","href":"/api-playground/candidates/get-candidate-details"},{"title":"Bulk upload resumes","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /candidates/bulk/resume","href":"/api-playground/candidates/bulk-upload-resumes"},{"title":"Get batch candidates","description":"Retrieve parsed candidates from a bulk resume upload batch, with\npagination. Pagination on this endpoint is **1-indexed** (the first\npage is `pageNumber=1`), unlike `GET /candidates/list` which is\n0-indexed. Check `hasNextPage` to determine whether more data is\navailable. Monitor `batchStatus` (and the bulk-upload webhook\nevents) to know when processing has finished.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /candidates/batch/{batchId}","href":"/api-playground/candidates/get-batch-candidates"},{"title":"Bulk fetch candidates","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /candidates/bulk-fetch","href":"/api-playground/candidates/bulk-fetch-candidates"}]},{"group":"Job Candidates","pages":[{"title":"Bulk fetch job candidates","description":"Fetch up to 100 job candidates by their IDs in a single request. Each\nreturned item carries the job-specific record (AI profile match score,\ncriteria match breakdown, evaluation status, AI-generated summary and\nrecommendation) together with the full `candidate_details` object and\nany enriched custom field values.\n\nThe `profileMatchScore` is calculated by evaluating the candidate's\nresume against the job's `criterionDetails`: \"Must Have\" criteria are\nweighted most heavily (missing one can drop a score to 40-60), \"Nice\nto Have\" criteria contribute without disqualifying, and \"Bonus\"\ncriteria add points without penalizing candidates that lack them.\n\nValidation rules:\n- `jobCandidateIds` must be provided and cannot be empty.\n- `jobCandidateIds` must be an array of at most 100 IDs.\n- Each job candidate ID must be a valid non-empty string or number.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /job-candidates/bulk-fetch","href":"/api-playground/job-candidates/bulk-fetch-job-candidates"},{"title":"Bulk upload resumes to a job","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /job-candidates/bulk/resume","href":"/api-playground/job-candidates/bulk-upload-resumes-to-a-job"},{"title":"List candidates for a job","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /job-candidates/job/{jobId}/candidates","href":"/api-playground/job-candidates/list-candidates-for-a-job"},{"title":"List candidates in a pipeline stage","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /job-candidates/stage/{stageId}/candidates","href":"/api-playground/job-candidates/list-candidates-in-a-pipeline-stage"},{"title":"Move a job candidate to a stage","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /job-candidates/{jobCandidateId}/stage","href":"/api-playground/job-candidates/move-a-job-candidate-to-a-stage"}]},{"group":"Pipelines","pages":[{"title":"List pipelines","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /pipelines","href":"/api-playground/pipelines/list-pipelines"},{"title":"Create a pipeline","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /pipelines","href":"/api-playground/pipelines/create-a-pipeline"},{"title":"Get pipeline details","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /pipelines/{pipelineId}","href":"/api-playground/pipelines/get-pipeline-details"},{"title":"Update a pipeline","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /pipelines/{pipelineId}","href":"/api-playground/pipelines/update-a-pipeline"},{"title":"Create or update a pipeline stage","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /pipelines/stages","href":"/api-playground/pipelines/create-or-update-a-pipeline-stage"},{"title":"Delete a pipeline stage","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /pipelines/stages/{stageId}","href":"/api-playground/pipelines/delete-a-pipeline-stage"}]},{"group":"Custom Fields","pages":[{"title":"List custom fields","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /custom-fields","href":"/api-playground/custom-fields/list-custom-fields"},{"title":"Create a custom field","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /custom-fields","href":"/api-playground/custom-fields/create-a-custom-field"},{"title":"Get a custom field","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /custom-fields/{customFieldId}","href":"/api-playground/custom-fields/get-a-custom-field"},{"title":"Update a custom field","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /custom-fields/{customFieldId}","href":"/api-playground/custom-fields/update-a-custom-field"},{"title":"Delete a custom field","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /custom-fields/{customFieldId}","href":"/api-playground/custom-fields/delete-a-custom-field"}]},{"group":"Custom Field Values","pages":[{"title":"List custom field values for an entity","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /custom-field-values","href":"/api-playground/custom-field-values/list-custom-field-values-for-an-entity"},{"title":"Create or update a custom field value","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /custom-field-values","href":"/api-playground/custom-field-values/create-or-update-a-custom-field-value"},{"title":"Bulk create or update custom field values","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /custom-field-values/bulk","href":"/api-playground/custom-field-values/bulk-create-or-update-custom-field-values"},{"title":"Get a custom field value","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /custom-field-values/{valueId}","href":"/api-playground/custom-field-values/get-a-custom-field-value"},{"title":"Delete a custom field value","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /custom-field-values/{valueId}","href":"/api-playground/custom-field-values/delete-a-custom-field-value"},{"title":"Delete all custom field values for an entity","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /custom-field-values/entity/{entityType}/{entityId}","href":"/api-playground/custom-field-values/delete-all-custom-field-values-for-an-entity"}]},{"group":"Candidate Self-Scheduling","pages":[{"title":"List booking schedules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /booking-schedules","href":"/api-playground/candidate-self-scheduling/list-booking-schedules"},{"title":"Get a booking schedule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /booking-schedules/{bookingScheduleId}","href":"/api-playground/candidate-self-scheduling/get-a-booking-schedule"},{"title":"List available slots","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /booking-schedules/{bookingScheduleId}/slots","href":"/api-playground/candidate-self-scheduling/list-available-slots"},{"title":"List locations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /booking-schedules/{bookingScheduleId}/locations","href":"/api-playground/candidate-self-scheduling/list-locations"},{"title":"List questions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /booking-schedules/{bookingScheduleId}/questions","href":"/api-playground/candidate-self-scheduling/list-questions"},{"title":"Create a candidate scheduling link","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /booking-schedules/{bookingScheduleId}/links","href":"/api-playground/candidate-self-scheduling/create-a-candidate-scheduling-link"},{"title":"Create a booking","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /booking-schedules/{bookingScheduleId}/bookings","href":"/api-playground/candidate-self-scheduling/create-a-booking"},{"title":"List bookings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /bookings","href":"/api-playground/candidate-self-scheduling/list-bookings"},{"title":"Get a booking","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /bookings/{bookingId}","href":"/api-playground/candidate-self-scheduling/get-a-booking"},{"title":"Reschedule a booking","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /bookings/{bookingId}/reschedule","href":"/api-playground/candidate-self-scheduling/reschedule-a-booking"},{"title":"Cancel a booking","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /bookings/{bookingId}/cancel","href":"/api-playground/candidate-self-scheduling/cancel-a-booking"},{"title":"Record attendance / check-in","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /bookings/{bookingId}/attendance","href":"/api-playground/candidate-self-scheduling/record-attendance-check-in"},{"title":"Record attendance by code","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /attendance-codes/{attendanceCode}/check-in","href":"/api-playground/candidate-self-scheduling/record-attendance-by-code"}]},{"group":"Webhooks","pages":[{"title":"Bulk resume upload batch started","version":null,"deprecated":null,"openapi":"/api-reference/openapi.yaml webhook resume.bulk_upload_parse.started","href":"/api-playground/webhooks/bulk-resume-upload-batch-started"},{"title":"Bulk resume upload batch completed","version":null,"deprecated":null,"openapi":"/api-reference/openapi.yaml webhook resume.bulk_upload_parse.completed","href":"/api-playground/webhooks/bulk-resume-upload-batch-completed"},{"title":"Bulk resume upload batch failed","version":null,"deprecated":null,"openapi":"/api-reference/openapi.yaml webhook resume.bulk_upload_parse.failed","href":"/api-playground/webhooks/bulk-resume-upload-batch-failed"},{"title":"Single resume parse completed","version":null,"deprecated":null,"openapi":"/api-reference/openapi.yaml webhook resume.single_parse.completed","href":"/api-playground/webhooks/single-resume-parse-completed"},{"title":"Single resume parse failed","version":null,"deprecated":null,"openapi":"/api-reference/openapi.yaml webhook resume.single_parse.failed","href":"/api-playground/webhooks/single-resume-parse-failed"},{"title":"Job created","version":null,"deprecated":null,"openapi":"/api-reference/openapi.yaml webhook job.created","href":"/api-playground/webhooks/job-created"},{"title":"Job details updated","version":null,"deprecated":null,"openapi":"/api-reference/openapi.yaml webhook job.updated","href":"/api-playground/webhooks/job-details-updated"},{"title":"Job status changed","version":null,"deprecated":null,"openapi":"/api-reference/openapi.yaml webhook job.status_changed","href":"/api-playground/webhooks/job-status-changed"},{"title":"Candidates added to a job","version":null,"deprecated":null,"openapi":"/api-reference/openapi.yaml webhook candidate.added_to_job","href":"/api-playground/webhooks/candidates-added-to-a-job"},{"title":"Candidates moved to a different stage","version":null,"deprecated":null,"openapi":"/api-reference/openapi.yaml webhook candidate.stage_changed","href":"/api-playground/webhooks/candidates-moved-to-a-different-stage"},{"title":"Candidates hired","version":null,"deprecated":null,"openapi":"/api-reference/openapi.yaml webhook candidate.hired","href":"/api-playground/webhooks/candidates-hired"},{"title":"Candidates rejected","version":null,"deprecated":null,"openapi":"/api-reference/openapi.yaml webhook candidate.rejected","href":"/api-playground/webhooks/candidates-rejected"},{"title":"Candidates removed from a job","version":null,"deprecated":null,"openapi":"/api-reference/openapi.yaml webhook candidate.removed_from_job","href":"/api-playground/webhooks/candidates-removed-from-a-job"},{"title":"Candidate profile or application updated","version":null,"deprecated":null,"openapi":"/api-reference/openapi.yaml webhook candidate.updated","href":"/api-playground/webhooks/candidate-profile-or-application-updated"},{"title":"Booking scheduled","version":null,"deprecated":null,"openapi":"/api-reference/openapi.yaml webhook booking.scheduled","href":"/api-playground/webhooks/booking-scheduled"},{"title":"Booking rescheduled","version":null,"deprecated":null,"openapi":"/api-reference/openapi.yaml webhook booking.rescheduled","href":"/api-playground/webhooks/booking-rescheduled"},{"title":"Booking cancelled","version":null,"deprecated":null,"openapi":"/api-reference/openapi.yaml webhook booking.cancelled","href":"/api-playground/webhooks/booking-cancelled"},{"title":"Booking attendance updated","version":null,"deprecated":null,"openapi":"/api-reference/openapi.yaml webhook booking.attendance_updated","href":"/api-playground/webhooks/booking-attendance-updated"}]}]}]},"basePath":"","title":"Bulk fetch candidates - Taptalent Partner API","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-i2a3QZ8E.js","utils-ChLwp8m0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DRktVTDc.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CA2pEs4T.js","snippetPresets-ClQ6XrKD.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Ct_Lv36y.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Cn2PYw9e.js","shallow-rkyymjXQ.js","getApiPlaygroundDisplay-BB9vkXtE.js","CodeSnippet-Bm5RU7m1.js","CodeSnippets-BgU9Deuz.js","Page-BUDYNlhG.js","getPastedJson-BD-6NNum.js","icon-8Z6tud2e.js","MethodPill-Tuzr4g3V.js","DuplicateIcon-0ceWFYhN.js","createIcon-FBXow_ST.js","DynamicMarkdown-CD8713Yy.js","SectionHeading-7zgzQbH-.js","axios-vUo_bRtp.js","Markdown-D7Ofw1oz.js","clsx-eKJ4rcii.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CwjSCXIK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-9EK5IAXV.js"]}