Advanced job search with filtering, sorting, and vector search. Supports all filter types: keywords, location, job status, companies, team members/roles, custom attributes (select, numeric, date, team member), and semantic vector search.
AI AGENTS — Use vector_search if the user is inquiring about roles by title or title and company. Do not use keywords.
Job titles have many equivalent forms (“VP of Engineering”, “VP Engineering”, “Engineering VP”, “Head of Engineering”) — keywords will silently miss them . Vector search handles all variants automatically.
The exception: a verbatim job ID/code lookup where you need an exact internal reference (e.g. “find the jobID 1234”).
Archive filter (is_archived): Omit to include both active and archived jobs (recommended for similar past searches, comps, pitch prep, company/sector history). Pass false for active jobs only; true for archived only. Always surface archive/status in answers.
Vector search: Pass vector_search with a text query (min 5 chars) for AI-powered semantic search.
Date range filters: Use created_at_gte/created_at_lte and updated_at_gte/updated_at_lte to filter by creation or modification timestamps.
Custom attribute filters: Use select_attribute_filters, numeric_attribute_filters, date_attribute_filters, team_member_attribute_filters, company_attribute_filters for custom field filtering.
Include control: Pass include: ["custom_fields", "linked_deals", "fees", "client_contacts", "share_links", "pipeline_stages", "job_status_changes"] to embed custom field values, linked deals, fee & placement data, client contacts, active share links, pipeline stages, and/or the recorded status history in each job. job_status_changes is ordered oldest first. For API-key callers, linked_deals requires deals:read and fees requires compensation:read; inaccessible sections are omitted.
AI AGENTS — Result processing: After receiving results, reason and process them before presenting to the user. Only show jobs where the title genuinely matches what the user asked for. For example, if the user asks for “VP of Engineering” roles, exclude results like “VP Consumer Electronics” or “SVP Sales Engineering” — these are not engineering leadership roles. Show relevant results rather than regurgitating everything the vector search returns.
Filter by archive status. Omit to include both active and archived jobs (recommended for similar past searches, comps, pitch prep, and company/sector history). Pass false for active jobs only (current pipeline / open searches). Pass true for archived jobs only.
Extra sections to embed. Values: custom_fields, linked_deals, fees, client_contacts, share_links, pipeline_stages, job_status_changes. Omit for base fields only. job_status_changes embeds the recorded status history, oldest first. For API-key callers, linked_deals requires deals:read and fees requires compensation:read; inaccessible sections are omitted.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Stardex Help Docs","description":"AI native ATS \u0026 CRM for search firms","colors":{"primary":"#5853f7","light":"#5853f7","dark":"#EDF3F9"},"logo":{"light":"https://mintcdn.com/stardex/Unebva7RlCeyAgPy/logo/light.svg?fit=max\u0026auto=format\u0026n=Unebva7RlCeyAgPy\u0026q=85\u0026s=6a32bc87265a1562f0ee3793cb4c66e7","dark":"https://mintcdn.com/stardex/Unebva7RlCeyAgPy/logo/dark.svg?fit=max\u0026auto=format\u0026n=Unebva7RlCeyAgPy\u0026q=85\u0026s=000def45485b23628fc81f156a6306cd"},"favicon":"https://mintcdn.com/stardex/Unebva7RlCeyAgPy/favicon.svg?fit=max\u0026auto=format\u0026n=Unebva7RlCeyAgPy\u0026q=85\u0026s=dbebacabd3552482bc8b3f787e61888d","api":{"mdx":{"auth":{"method":"bearer","name":"Authorization"},"server":"https://api.stardex.ai"}},"navbar":{"links":[{"href":"mailto:support@stardex.ai","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://stardex.com/jobs"}},"footer":{"socials":{"x":"https://x.com/stardexhq","linkedin":"https://linkedin.com/company/stardexhq"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Home page","icon":"book-open-cover","href":"https://www.stardex.com"},{"anchor":"Blog","icon":"newspaper","href":"https://www.stardex.com/blog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"stardex","hasAudioNarration":false,"actualSubdomain":"stardex","customDomains":["docs.stardex.com"],"gitSource":{"type":"github","owner":"dotshq","repo":"ats-plus","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae8f0317f07b925ab851864","collectionId":"b69e96e1-d5cc-4097-bc47-f4cc4acc108d","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae8f0317f07b925ab851864"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{},"buildId":"6ae8f0317f07b925ab851864","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"API Reference","count":180},{"language":"default","tag":"Help Center","count":86},{"language":"default","tag":"Core Features","count":35},{"language":"default","tag":"Settings \u0026 Customization","count":27},{"language":"default","tag":"Campaigns","count":23},{"language":"default","tag":"Persons","count":23},{"language":"default","tag":"Jobs","count":21},{"language":"default","tag":"Integrations","count":16},{"language":"default","tag":"Retainer Packs","count":12},{"language":"default","tag":"Email \u0026 other integrations","count":10}]},"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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/jobs/search-jobs","slug":"/api-reference/jobs/search-jobs","pageMetadata":{"title":"Search jobs","description":"Advanced job search with filtering, sorting, and vector search. Supports all filter types: keywords, location, job status, companies, team members/roles, custom attributes (select, numeric, date, team member), and semantic vector search.\n\n**AI AGENTS — Use `vector_search` if the user is inquiring about roles by title or title and company. Do not use `keywords`.**\nJob titles have many equivalent forms (\"VP of Engineering\", \"VP Engineering\", \"Engineering VP\", \"Head of Engineering\") — keywords will silently miss them . Vector search handles all variants automatically.\nThe exception: a verbatim job ID/code lookup where you need an exact internal reference (e.g. \"find the jobID 1234\").\n\n**Archive filter (`is_archived`)**: Omit to include both active and archived jobs (recommended for similar past searches, comps, pitch prep, company/sector history). Pass `false` for active jobs only; `true` for archived only. Always surface archive/status in answers.\n\n**Vector search**: Pass `vector_search` with a text query (min 5 chars) for AI-powered semantic search.\n\n**Date range filters**: Use `created_at_gte`/`created_at_lte` and `updated_at_gte`/`updated_at_lte` to filter by creation or modification timestamps.\n\n**Custom attribute filters**: Use `select_attribute_filters`, `numeric_attribute_filters`, `date_attribute_filters`, `team_member_attribute_filters`, `company_attribute_filters` for custom field filtering.\n\n**Include control**: Pass `include: [\"custom_fields\", \"linked_deals\", \"fees\", \"client_contacts\", \"share_links\", \"pipeline_stages\", \"job_status_changes\"]` to embed custom field values, linked deals, fee \u0026 placement data, client contacts, active share links, pipeline stages, and/or the recorded status history in each job. `job_status_changes` is ordered oldest first. For API-key callers, `linked_deals` requires `deals:read` and `fees` requires `compensation:read`; inaccessible sections are omitted.\n\nAI AGENTS — Result processing: After receiving results, reason and process them before presenting to the user. Only show jobs where the title genuinely matches what the user asked for. For example, if the user asks for \"VP of Engineering\" roles, exclude results like \"VP Consumer Electronics\" or \"SVP Sales Engineering\" — these are not engineering leadership roles. Show relevant results rather than regurgitating everything the vector search returns.","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/jobs/search","href":"/api-reference/jobs/search-jobs","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 p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Advanced job search with filtering, sorting, and vector search. Supports all filter types: keywords, location, job status, companies, team members/roles, custom attributes (select, numeric, date, team member), and semantic vector search.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsxs(_components.strong, {\n children: [\"AI AGENTS — Use \", _jsx(_components.code, {\n children: \"vector_search\"\n }), \" if the user is inquiring about roles by title or title and company. Do not use \", _jsx(_components.code, {\n children: \"keywords\"\n }), \".\"]\n }), \"\\nJob titles have many equivalent forms (“VP of Engineering”, “VP Engineering”, “Engineering VP”, “Head of Engineering”) — keywords will silently miss them . Vector search handles all variants automatically.\\nThe exception: a verbatim job ID/code lookup where you need an exact internal reference (e.g. “find the jobID 1234”).\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsxs(_components.strong, {\n children: [\"Archive filter (\", _jsx(_components.code, {\n children: \"is_archived\"\n }), \")\"]\n }), \": Omit to include both active and archived jobs (recommended for similar past searches, comps, pitch prep, company/sector history). Pass \", _jsx(_components.code, {\n children: \"false\"\n }), \" for active jobs only; \", _jsx(_components.code, {\n children: \"true\"\n }), \" for archived only. Always surface archive/status in answers.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Vector search\"\n }), \": Pass \", _jsx(_components.code, {\n children: \"vector_search\"\n }), \" with a text query (min 5 chars) for AI-powered semantic search.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Date range filters\"\n }), \": Use \", _jsx(_components.code, {\n children: \"created_at_gte\"\n }), \"/\", _jsx(_components.code, {\n children: \"created_at_lte\"\n }), \" and \", _jsx(_components.code, {\n children: \"updated_at_gte\"\n }), \"/\", _jsx(_components.code, {\n children: \"updated_at_lte\"\n }), \" to filter by creation or modification timestamps.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Custom attribute filters\"\n }), \": Use \", _jsx(_components.code, {\n children: \"select_attribute_filters\"\n }), \", \", _jsx(_components.code, {\n children: \"numeric_attribute_filters\"\n }), \", \", _jsx(_components.code, {\n children: \"date_attribute_filters\"\n }), \", \", _jsx(_components.code, {\n children: \"team_member_attribute_filters\"\n }), \", \", _jsx(_components.code, {\n children: \"company_attribute_filters\"\n }), \" for custom field filtering.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Include control\"\n }), \": Pass \", _jsx(_components.code, {\n children: \"include: [\\\"custom_fields\\\", \\\"linked_deals\\\", \\\"fees\\\", \\\"client_contacts\\\", \\\"share_links\\\", \\\"pipeline_stages\\\", \\\"job_status_changes\\\"]\"\n }), \" to embed custom field values, linked deals, fee \u0026 placement data, client contacts, active share links, pipeline stages, and/or the recorded status history in each job. \", _jsx(_components.code, {\n children: \"job_status_changes\"\n }), \" is ordered oldest first. For API-key callers, \", _jsx(_components.code, {\n children: \"linked_deals\"\n }), \" requires \", _jsx(_components.code, {\n children: \"deals:read\"\n }), \" and \", _jsx(_components.code, {\n children: \"fees\"\n }), \" requires \", _jsx(_components.code, {\n children: \"compensation:read\"\n }), \"; inaccessible sections are omitted.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"AI AGENTS — Result processing: After receiving results, reason and process them before presenting to the user. Only show jobs where the title genuinely matches what the user asked for. For example, if the user asks for “VP of Engineering” roles, exclude results like “VP Consumer Electronics” or “SVP Sales Engineering” — these are not engineering leadership roles. Show relevant results rather than regurgitating everything the vector search returns.\"\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":"Search jobs","description":"Advanced job search with filtering, sorting, and vector search. Supports all filter types: keywords, location, job status, companies, team members/roles, custom attributes (select, numeric, date, team member), and semantic vector search.\n\n**AI AGENTS — Use `vector_search` if the user is inquiring about roles by title or title and company. Do not use `keywords`.**\nJob titles have many equivalent forms (\"VP of Engineering\", \"VP Engineering\", \"Engineering VP\", \"Head of Engineering\") — keywords will silently miss them . Vector search handles all variants automatically.\nThe exception: a verbatim job ID/code lookup where you need an exact internal reference (e.g. \"find the jobID 1234\").\n\n**Archive filter (`is_archived`)**: Omit to include both active and archived jobs (recommended for similar past searches, comps, pitch prep, company/sector history). Pass `false` for active jobs only; `true` for archived only. Always surface archive/status in answers.\n\n**Vector search**: Pass `vector_search` with a text query (min 5 chars) for AI-powered semantic search.\n\n**Date range filters**: Use `created_at_gte`/`created_at_lte` and `updated_at_gte`/`updated_at_lte` to filter by creation or modification timestamps.\n\n**Custom attribute filters**: Use `select_attribute_filters`, `numeric_attribute_filters`, `date_attribute_filters`, `team_member_attribute_filters`, `company_attribute_filters` for custom field filtering.\n\n**Include control**: Pass `include: [\"custom_fields\", \"linked_deals\", \"fees\", \"client_contacts\", \"share_links\", \"pipeline_stages\", \"job_status_changes\"]` to embed custom field values, linked deals, fee \u0026 placement data, client contacts, active share links, pipeline stages, and/or the recorded status history in each job. `job_status_changes` is ordered oldest first. For API-key callers, `linked_deals` requires `deals:read` and `fees` requires `compensation:read`; inaccessible sections are omitted.\n\nAI AGENTS — Result processing: After receiving results, reason and process them before presenting to the user. Only show jobs where the title genuinely matches what the user asked for. For example, if the user asks for \"VP of Engineering\" roles, exclude results like \"VP Consumer Electronics\" or \"SVP Sales Engineering\" — these are not engineering leadership roles. Show relevant results rather than regurgitating everything the vector search returns.","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/jobs/search","href":"/api-reference/jobs/search-jobs","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"searchJobs","summary":"Search jobs","description":"Advanced job search with filtering, sorting, and vector search. Supports all filter types: keywords, location, job status, companies, team members/roles, custom attributes (select, numeric, date, team member), and semantic vector search.\n\n**AI AGENTS — Use `vector_search` if the user is inquiring about roles by title or title and company. Do not use `keywords`.**\nJob titles have many equivalent forms (\"VP of Engineering\", \"VP Engineering\", \"Engineering VP\", \"Head of Engineering\") — keywords will silently miss them . Vector search handles all variants automatically.\nThe exception: a verbatim job ID/code lookup where you need an exact internal reference (e.g. \"find the jobID 1234\").\n\n**Archive filter (`is_archived`)**: Omit to include both active and archived jobs (recommended for similar past searches, comps, pitch prep, company/sector history). Pass `false` for active jobs only; `true` for archived only. Always surface archive/status in answers.\n\n**Vector search**: Pass `vector_search` with a text query (min 5 chars) for AI-powered semantic search.\n\n**Date range filters**: Use `created_at_gte`/`created_at_lte` and `updated_at_gte`/`updated_at_lte` to filter by creation or modification timestamps.\n\n**Custom attribute filters**: Use `select_attribute_filters`, `numeric_attribute_filters`, `date_attribute_filters`, `team_member_attribute_filters`, `company_attribute_filters` for custom field filtering.\n\n**Include control**: Pass `include: [\"custom_fields\", \"linked_deals\", \"fees\", \"client_contacts\", \"share_links\", \"pipeline_stages\", \"job_status_changes\"]` to embed custom field values, linked deals, fee \u0026 placement data, client contacts, active share links, pipeline stages, and/or the recorded status history in each job. `job_status_changes` is ordered oldest first. For API-key callers, `linked_deals` requires `deals:read` and `fees` requires `compensation:read`; inaccessible sections are omitted.\n\nAI AGENTS — Result processing: After receiving results, reason and process them before presenting to the user. Only show jobs where the title genuinely matches what the user asked for. For example, if the user asks for \"VP of Engineering\" roles, exclude results like \"VP Consumer Electronics\" or \"SVP Sales Engineering\" — these are not engineering leadership roles. Show relevant results rather than regurgitating everything the vector search returns.","tags":["Jobs"],"requestBody":"684e1991-934f-4764-be45-4f54fd94199d","responses":{"200":"ef3a8fda-39f0-453f-9e08-21592e820a33","400":"51efd7a3-0710-4e62-9850-f06a2d5a35c7","404":"f6f32380-448c-430b-b9f2-61b1c2d63ea7","500":"966871d1-3e96-4646-acfa-e96257729746"},"method":"post","type":"path","servers":["0f55f676-b9db-4dbe-b3e2-3132b8bc1690"],"security":["1a522db3-1c95-4503-bd27-0e07c9bb550d"],"path":"/v1/jobs/search","baseUrlOptions":["https://api.stardex.ai"],"title":"Search jobs","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"offset":{"type":"integer","minimum":0,"default":0,"description":"Records to skip for pagination. Defaults to 0.","uniqueKey":"offset","typeLabel":"integer"},"limit":{"type":"integer","minimum":1,"maximum":200,"default":200,"description":"Max records to return (1–200). Defaults to 200.","uniqueKey":"limit","typeLabel":"integer"},"sort_by":{"type":"string","description":"Sort column. Values: title, company, status, fee, created_at, days_since_opened, location, total_candidates, or custom_\u003cattribute_id>. Defaults to created_at.","uniqueKey":"sort_by","typeLabel":"string"},"sort_order":{"type":"string","enum":["asc","desc"],"default":"desc","description":"Sort direction. Defaults to desc (newest first).","uniqueKey":"sort_order","typeLabel":"enum\u003cstring>"},"keywords":{"type":"array","items":{"type":"string","uniqueKey":"keywords.items.[INDEX]","typeLabel":"string"},"description":"Full-text search across job title, description, location, and company name/domain.","uniqueKey":"keywords","typeLabel":"string[]"},"location_keywords":{"type":"array","items":{"type":"string","uniqueKey":"location_keywords.items.[INDEX]","typeLabel":"string"},"description":"Search specifically in the job location field.","uniqueKey":"location_keywords","typeLabel":"string[]"},"vector_search":{"type":"string","minLength":5,"description":"AI semantic search query (min 5 chars). Uses vector embeddings for contextual matching.","uniqueKey":"vector_search","typeLabel":"string"},"is_archived":{"type":"boolean","description":"Filter by archive status. Omit to include both active and archived jobs (recommended for similar past searches, comps, pitch prep, and company/sector history). Pass false for active jobs only (current pipeline / open searches). Pass true for archived jobs only.","uniqueKey":"is_archived","typeLabel":"boolean"},"job_status_ids_included":{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"job_status_ids_included.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Include only jobs with these status IDs. Status IDs are returned in job list/detail responses as job_status_id.","uniqueKey":"job_status_ids_included","typeLabel":"string\u003cuuid>[]"},"job_status_ids_excluded":{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"job_status_ids_excluded.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Exclude jobs with these status IDs.","uniqueKey":"job_status_ids_excluded","typeLabel":"string\u003cuuid>[]"},"company_ids_included":{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"company_ids_included.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Include only jobs for these client companies. Get IDs from GET /v1/companies.","uniqueKey":"company_ids_included","typeLabel":"string\u003cuuid>[]"},"company_ids_excluded":{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"company_ids_excluded.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Exclude jobs for these client companies.","uniqueKey":"company_ids_excluded","typeLabel":"string\u003cuuid>[]"},"owner_ids":{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"owner_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Filter to jobs owned by these team members (owner role). Get IDs from GET /v1/team-members.","uniqueKey":"owner_ids","typeLabel":"string\u003cuuid>[]"},"team_member_ids":{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"team_member_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Filter to jobs with any of these team members assigned. Get IDs from GET /v1/team-members.","uniqueKey":"team_member_ids","typeLabel":"string\u003cuuid>[]"},"team_member_role_ids":{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"team_member_role_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Filter to jobs that have members with these roles. Get role IDs from GET /v1/jobs/team-member-roles.","uniqueKey":"team_member_role_ids","typeLabel":"string\u003cuuid>[]"},"is_public":{"type":"boolean","description":"Filter for publicly posted jobs only.","uniqueKey":"is_public","typeLabel":"boolean"},"created_at_gte":{"type":"string","format":"date-time","description":"Filter jobs created on or after this ISO 8601 datetime (e.g. \"2024-01-01T00:00:00Z\").","uniqueKey":"created_at_gte","typeLabel":"string\u003cdate-time>"},"created_at_lte":{"type":"string","format":"date-time","description":"Filter jobs created on or before this ISO 8601 datetime (e.g. \"2024-12-31T23:59:59Z\").","uniqueKey":"created_at_lte","typeLabel":"string\u003cdate-time>"},"updated_at_gte":{"type":"string","format":"date-time","description":"Filter jobs updated on or after this ISO 8601 datetime (e.g. \"2024-01-01T00:00:00Z\").","uniqueKey":"updated_at_gte","typeLabel":"string\u003cdate-time>"},"updated_at_lte":{"type":"string","format":"date-time","description":"Filter jobs updated on or before this ISO 8601 datetime (e.g. \"2024-12-31T23:59:59Z\").","uniqueKey":"updated_at_lte","typeLabel":"string\u003cdate-time>"},"list_id":{"type":"string","format":"uuid","description":"Filter to jobs in this saved list.","uniqueKey":"list_id","typeLabel":"string\u003cuuid>"},"select_attribute_filters":{"type":"array","items":{"type":"object","properties":{"attribute_id":{"type":"string","format":"uuid","description":"Attribute definition UUID. Get from GET /v1/custom-fields/{entity}.","isRequired":true,"uniqueKey":"select_attribute_filters.items.[INDEX].attribute_id","typeLabel":"string\u003cuuid>"},"values":{"type":"array","items":{"type":"string","uniqueKey":"select_attribute_filters.items.[INDEX].values.items.[INDEX]","typeLabel":"string"},"default":[],"description":"Tag option UUIDs to include. Get tag IDs from the attribute's tags array in custom field definitions.","uniqueKey":"select_attribute_filters.items.[INDEX].values","typeLabel":"string[]"},"excluded_values":{"type":"array","items":{"type":"string","uniqueKey":"select_attribute_filters.items.[INDEX].excluded_values.items.[INDEX]","typeLabel":"string"},"default":[],"description":"Tag option UUIDs to exclude.","uniqueKey":"select_attribute_filters.items.[INDEX].excluded_values","typeLabel":"string[]"},"require_all":{"type":"boolean","default":false,"description":"When true, record must have ALL specified tags (AND logic). When false, any tag matches (OR logic).","uniqueKey":"select_attribute_filters.items.[INDEX].require_all","typeLabel":"boolean"},"include_empty":{"type":"boolean","default":false,"description":"When true, also include records with no value set for this attribute.","uniqueKey":"select_attribute_filters.items.[INDEX].include_empty","typeLabel":"boolean"}},"required":["attribute_id"],"uniqueKey":"select_attribute_filters.items.[INDEX]","typeLabel":"object"},"description":"Filter by select/multi-select custom fields. Get attribute_id and tag IDs from GET /v1/custom-fields/jobs.","uniqueKey":"select_attribute_filters","typeLabel":"object[]"},"numeric_attribute_filters":{"type":"array","items":{"type":"object","properties":{"attribute_id":{"type":"string","format":"uuid","description":"Attribute definition UUID (integer or decimal type). Get from GET /v1/custom-fields/{entity}.","isRequired":true,"uniqueKey":"numeric_attribute_filters.items.[INDEX].attribute_id","typeLabel":"string\u003cuuid>"},"min":{"oneOf":[{"type":"number","description":"Minimum value (inclusive). Null for no lower bound.","uniqueKey":"numeric_attribute_filters.items.[INDEX].min.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum value (inclusive). Null for no lower bound.","uniqueKey":"numeric_attribute_filters.items.[INDEX].min.oneOf.1","typeLabel":"null"}],"uniqueKey":"numeric_attribute_filters.items.[INDEX].min","typeLabel":"number | null"},"max":{"oneOf":[{"type":"number","description":"Maximum value (inclusive). Null for no upper bound.","uniqueKey":"numeric_attribute_filters.items.[INDEX].max.oneOf.0","typeLabel":"number"},{"type":"null","description":"Maximum value (inclusive). Null for no upper bound.","uniqueKey":"numeric_attribute_filters.items.[INDEX].max.oneOf.1","typeLabel":"null"}],"uniqueKey":"numeric_attribute_filters.items.[INDEX].max","typeLabel":"number | null"},"include_empty":{"type":"boolean","default":false,"description":"When true, also include records with no value set.","uniqueKey":"numeric_attribute_filters.items.[INDEX].include_empty","typeLabel":"boolean"}},"required":["attribute_id"],"uniqueKey":"numeric_attribute_filters.items.[INDEX]","typeLabel":"object"},"description":"Filter by numeric custom fields (min/max range). Get attribute_id from GET /v1/custom-fields/jobs.","uniqueKey":"numeric_attribute_filters","typeLabel":"object[]"},"date_attribute_filters":{"type":"array","items":{"type":"object","properties":{"attribute_id":{"type":"string","format":"uuid","description":"Attribute definition UUID (date type). Get from GET /v1/custom-fields/{entity}.","isRequired":true,"uniqueKey":"date_attribute_filters.items.[INDEX].attribute_id","typeLabel":"string\u003cuuid>"},"start_date":{"oneOf":[{"type":"string","description":"Start of date range (ISO 8601). Null for no lower bound.","uniqueKey":"date_attribute_filters.items.[INDEX].start_date.oneOf.0","typeLabel":"string"},{"type":"null","description":"Start of date range (ISO 8601). Null for no lower bound.","uniqueKey":"date_attribute_filters.items.[INDEX].start_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"date_attribute_filters.items.[INDEX].start_date","typeLabel":"string | null"},"end_date":{"oneOf":[{"type":"string","description":"End of date range (ISO 8601). Null for no upper bound.","uniqueKey":"date_attribute_filters.items.[INDEX].end_date.oneOf.0","typeLabel":"string"},{"type":"null","description":"End of date range (ISO 8601). Null for no upper bound.","uniqueKey":"date_attribute_filters.items.[INDEX].end_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"date_attribute_filters.items.[INDEX].end_date","typeLabel":"string | null"},"include_empty":{"type":"boolean","default":false,"description":"When true, also include records with no value set.","uniqueKey":"date_attribute_filters.items.[INDEX].include_empty","typeLabel":"boolean"}},"required":["attribute_id"],"uniqueKey":"date_attribute_filters.items.[INDEX]","typeLabel":"object"},"description":"Filter by date custom fields (date range). Get attribute_id from GET /v1/custom-fields/jobs.","uniqueKey":"date_attribute_filters","typeLabel":"object[]"},"team_member_attribute_filters":{"type":"array","items":{"type":"object","properties":{"attribute_id":{"type":"string","format":"uuid","description":"Attribute definition UUID (multi-team-member type). Get from GET /v1/custom-fields/{entity}.","isRequired":true,"uniqueKey":"team_member_attribute_filters.items.[INDEX].attribute_id","typeLabel":"string\u003cuuid>"},"values":{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"team_member_attribute_filters.items.[INDEX].values.items.[INDEX]","typeLabel":"string\u003cuuid>"},"default":[],"description":"Team member UUIDs to include. Get IDs from GET /v1/team-members.","uniqueKey":"team_member_attribute_filters.items.[INDEX].values","typeLabel":"string\u003cuuid>[]"},"excluded_values":{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"team_member_attribute_filters.items.[INDEX].excluded_values.items.[INDEX]","typeLabel":"string\u003cuuid>"},"default":[],"description":"Team member UUIDs to exclude.","uniqueKey":"team_member_attribute_filters.items.[INDEX].excluded_values","typeLabel":"string\u003cuuid>[]"},"require_all":{"type":"boolean","default":false,"description":"When true, record must have ALL specified team members (AND logic).","uniqueKey":"team_member_attribute_filters.items.[INDEX].require_all","typeLabel":"boolean"},"include_empty":{"type":"boolean","default":false,"description":"When true, also include records with no team member assigned for this attribute.","uniqueKey":"team_member_attribute_filters.items.[INDEX].include_empty","typeLabel":"boolean"}},"required":["attribute_id"],"uniqueKey":"team_member_attribute_filters.items.[INDEX]","typeLabel":"object"},"description":"Filter by team-member custom fields. Get attribute_id from GET /v1/custom-fields/jobs, team member IDs from GET /v1/team-members.","uniqueKey":"team_member_attribute_filters","typeLabel":"object[]"},"company_attribute_filters":{"type":"array","items":{"type":"object","properties":{"attribute_id":{"type":"string","format":"uuid","description":"Attribute definition UUID (multi-company type). Get from GET /v1/custom-fields/{entity}.","isRequired":true,"uniqueKey":"company_attribute_filters.items.[INDEX].attribute_id","typeLabel":"string\u003cuuid>"},"values":{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"company_attribute_filters.items.[INDEX].values.items.[INDEX]","typeLabel":"string\u003cuuid>"},"default":[],"description":"Company UUIDs to include. Get IDs from GET /v1/companies/search or search-companies.","uniqueKey":"company_attribute_filters.items.[INDEX].values","typeLabel":"string\u003cuuid>[]"},"excluded_values":{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"company_attribute_filters.items.[INDEX].excluded_values.items.[INDEX]","typeLabel":"string\u003cuuid>"},"default":[],"description":"Company UUIDs to exclude.","uniqueKey":"company_attribute_filters.items.[INDEX].excluded_values","typeLabel":"string\u003cuuid>[]"},"require_all":{"type":"boolean","default":false,"description":"When true, record must have ALL specified companies (AND logic).","uniqueKey":"company_attribute_filters.items.[INDEX].require_all","typeLabel":"boolean"},"include_empty":{"type":"boolean","default":false,"description":"When true, also include records with no company assigned for this attribute.","uniqueKey":"company_attribute_filters.items.[INDEX].include_empty","typeLabel":"boolean"}},"required":["attribute_id"],"uniqueKey":"company_attribute_filters.items.[INDEX]","typeLabel":"object"},"description":"Filter by multi-company custom fields. Get attribute_id from GET /v1/custom-fields/jobs.","uniqueKey":"company_attribute_filters","typeLabel":"object[]"},"include":{"type":"array","items":{"type":"string","enum":["custom_fields","linked_deals","fees","client_contacts","share_links","pipeline_stages","job_status_changes"],"uniqueKey":"include.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Extra sections to embed. Values: custom_fields, linked_deals, fees, client_contacts, share_links, pipeline_stages, job_status_changes. Omit for base fields only. job_status_changes embeds the recorded status history, oldest first. For API-key callers, linked_deals requires deals:read and fees requires compensation:read; inaccessible sections are omitted.","uniqueKey":"include","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"offset":0,"limit":200,"sort_by":"\u003cstring>","sort_order":"desc","keywords":["\u003cstring>"],"location_keywords":["\u003cstring>"],"vector_search":"\u003cstring>","is_archived":true,"job_status_ids_included":["3c90c3cc-0d44-4b50-8888-8dd25736052a"],"job_status_ids_excluded":["3c90c3cc-0d44-4b50-8888-8dd25736052a"],"company_ids_included":["3c90c3cc-0d44-4b50-8888-8dd25736052a"],"company_ids_excluded":["3c90c3cc-0d44-4b50-8888-8dd25736052a"],"owner_ids":["3c90c3cc-0d44-4b50-8888-8dd25736052a"],"team_member_ids":["3c90c3cc-0d44-4b50-8888-8dd25736052a"],"team_member_role_ids":["3c90c3cc-0d44-4b50-8888-8dd25736052a"],"is_public":true,"created_at_gte":"2023-11-07T05:31:56Z","created_at_lte":"2023-11-07T05:31:56Z","updated_at_gte":"2023-11-07T05:31:56Z","updated_at_lte":"2023-11-07T05:31:56Z","list_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","select_attribute_filters":[{"attribute_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","values":[],"excluded_values":[],"require_all":false,"include_empty":false}],"numeric_attribute_filters":[{"attribute_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","min":123,"max":123,"include_empty":false}],"date_attribute_filters":[{"attribute_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","start_date":"\u003cstring>","end_date":"\u003cstring>","include_empty":false}],"team_member_attribute_filters":[{"attribute_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","values":[],"excluded_values":[],"require_all":false,"include_empty":false}],"company_attribute_filters":[{"attribute_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","values":[],"excluded_values":[],"require_all":false,"include_empty":false}],"include":[]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"ef3a8fda-39f0-453f-9e08-21592e820a33":{"description":"Jobs found","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true],"isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"data":{"type":"array","items":{"type":"object","required":["id","name","created_at","is_archived","client_company_name","client_company_id","client_company_domain","client_company_linkedin_url","job_status_name","job_status_id","job_status_type","candidate_count","location","primary_url","job_function","open_date","end_date","currency_code","salary_range","salary_min","salary_max","salary_details","billing_contact_name","billing_contact_email","fee","description","team_members"],"properties":{"id":{"type":"string","description":"Unique job UUID. Use in GET /v1/jobs/{id} for full details with pipeline stages.","isRequired":true,"uniqueKey":"data.items.[INDEX].id","typeLabel":"string"},"name":{"type":"string","description":"Job title.","isRequired":true,"uniqueKey":"data.items.[INDEX].name","typeLabel":"string"},"created_at":{"type":"string","description":"ISO 8601 creation timestamp.","isRequired":true,"uniqueKey":"data.items.[INDEX].created_at","typeLabel":"string"},"is_archived":{"type":"boolean","description":"True if the job has been archived.","isRequired":true,"uniqueKey":"data.items.[INDEX].is_archived","typeLabel":"boolean"},"client_company_name":{"oneOf":[{"type":"string","description":"Client company name.","isRequired":true,"uniqueKey":"data.items.[INDEX].client_company_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Client company name.","isRequired":true,"uniqueKey":"data.items.[INDEX].client_company_name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].client_company_name","typeLabel":"string | null"},"client_company_id":{"oneOf":[{"type":"string","description":"Client company UUID. Matches IDs from GET /v1/companies.","isRequired":true,"uniqueKey":"data.items.[INDEX].client_company_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Client company UUID. Matches IDs from GET /v1/companies.","isRequired":true,"uniqueKey":"data.items.[INDEX].client_company_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].client_company_id","typeLabel":"string | null"},"client_company_domain":{"oneOf":[{"type":"string","description":"Client company website domain (e.g. \"acme.com\").","isRequired":true,"uniqueKey":"data.items.[INDEX].client_company_domain.oneOf.0","typeLabel":"string"},{"type":"null","description":"Client company website domain (e.g. \"acme.com\").","isRequired":true,"uniqueKey":"data.items.[INDEX].client_company_domain.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].client_company_domain","typeLabel":"string | null"},"client_company_linkedin_url":{"oneOf":[{"type":"string","description":"Client company LinkedIn URL.","isRequired":true,"uniqueKey":"data.items.[INDEX].client_company_linkedin_url.oneOf.0","typeLabel":"string"},{"type":"null","description":"Client company LinkedIn URL.","isRequired":true,"uniqueKey":"data.items.[INDEX].client_company_linkedin_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].client_company_linkedin_url","typeLabel":"string | null"},"job_status_name":{"oneOf":[{"type":"string","description":"Current job status label (e.g. \"Active\", \"On Hold\", \"Closed\").","isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Current job status label (e.g. \"Active\", \"On Hold\", \"Closed\").","isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_name","typeLabel":"string | null"},"job_status_id":{"oneOf":[{"type":"string","description":"Job status UUID. Use in job_status_ids_included/excluded filters in POST /v1/jobs/search.","isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Job status UUID. Use in job_status_ids_included/excluded filters in POST /v1/jobs/search.","isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_id","typeLabel":"string | null"},"job_status_type":{"oneOf":[{"type":"string","enum":["not_started","in_progress","closed_won","closed_lost"],"description":"Lifecycle category of the current job status: not_started, in_progress, closed_won, or closed_lost. Independent of the custom status name. Null when the job has no status.","isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["not_started","in_progress","closed_won","closed_lost"],"description":"Lifecycle category of the current job status: not_started, in_progress, closed_won, or closed_lost. Independent of the custom status name. Null when the job has no status.","isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_type.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_type","typeLabel":"enum\u003cstring> | null"},"candidate_count":{"type":"number","description":"Total number of active candidates in this job. Excludes archived candidacies and candidates whose person is archived.","isRequired":true,"uniqueKey":"data.items.[INDEX].candidate_count","typeLabel":"number"},"location":{"oneOf":[{"type":"string","description":"Job location (e.g. \"New York, NY\" or \"Remote\").","isRequired":true,"uniqueKey":"data.items.[INDEX].location.oneOf.0","typeLabel":"string"},{"type":"null","description":"Job location (e.g. \"New York, NY\" or \"Remote\").","isRequired":true,"uniqueKey":"data.items.[INDEX].location.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].location","typeLabel":"string | null"},"primary_url":{"oneOf":[{"type":"string","description":"Primary job posting URL.","isRequired":true,"uniqueKey":"data.items.[INDEX].primary_url.oneOf.0","typeLabel":"string"},{"type":"null","description":"Primary job posting URL.","isRequired":true,"uniqueKey":"data.items.[INDEX].primary_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].primary_url","typeLabel":"string | null"},"job_function":{"oneOf":[{"type":"string","description":"Department or function (e.g. \"Engineering\", \"Sales\", \"Marketing\").","isRequired":true,"uniqueKey":"data.items.[INDEX].job_function.oneOf.0","typeLabel":"string"},{"type":"null","description":"Department or function (e.g. \"Engineering\", \"Sales\", \"Marketing\").","isRequired":true,"uniqueKey":"data.items.[INDEX].job_function.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].job_function","typeLabel":"string | null"},"open_date":{"oneOf":[{"type":"string","description":"Date job opened (YYYY-MM-DD).","isRequired":true,"uniqueKey":"data.items.[INDEX].open_date.oneOf.0","typeLabel":"string"},{"type":"null","description":"Date job opened (YYYY-MM-DD).","isRequired":true,"uniqueKey":"data.items.[INDEX].open_date.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].open_date","typeLabel":"string | null"},"end_date":{"oneOf":[{"type":"string","description":"Target close date (YYYY-MM-DD). Null if open-ended.","isRequired":true,"uniqueKey":"data.items.[INDEX].end_date.oneOf.0","typeLabel":"string"},{"type":"null","description":"Target close date (YYYY-MM-DD). Null if open-ended.","isRequired":true,"uniqueKey":"data.items.[INDEX].end_date.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].end_date","typeLabel":"string | null"},"currency_code":{"oneOf":[{"type":"string","description":"ISO 4217 currency code (e.g. \"USD\", \"EUR\").","isRequired":true,"uniqueKey":"data.items.[INDEX].currency_code.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 4217 currency code (e.g. \"USD\", \"EUR\").","isRequired":true,"uniqueKey":"data.items.[INDEX].currency_code.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].currency_code","typeLabel":"string | null"},"salary_range":{"oneOf":[{"type":"string","description":"Raw salary range with an exclusive upper bound — \"[150000,200001)\" means 150,000 to 200,000. Prefer salary_min and salary_max, which give the same bounds as plain inclusive numbers.","isRequired":true,"uniqueKey":"data.items.[INDEX].salary_range.oneOf.0","typeLabel":"string"},{"type":"null","description":"Raw salary range with an exclusive upper bound — \"[150000,200001)\" means 150,000 to 200,000. Prefer salary_min and salary_max, which give the same bounds as plain inclusive numbers.","isRequired":true,"uniqueKey":"data.items.[INDEX].salary_range.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].salary_range","typeLabel":"string | null"},"salary_min":{"oneOf":[{"type":"integer","description":"Minimum annual salary parsed from salary_range. Null when no range is set.","isRequired":true,"uniqueKey":"data.items.[INDEX].salary_min.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Minimum annual salary parsed from salary_range. Null when no range is set.","isRequired":true,"uniqueKey":"data.items.[INDEX].salary_min.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].salary_min","typeLabel":"integer | null"},"salary_max":{"oneOf":[{"type":"integer","description":"Maximum annual salary parsed from salary_range. Null when no range is set.","isRequired":true,"uniqueKey":"data.items.[INDEX].salary_max.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Maximum annual salary parsed from salary_range. Null when no range is set.","isRequired":true,"uniqueKey":"data.items.[INDEX].salary_max.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].salary_max","typeLabel":"integer | null"},"salary_details":{"oneOf":[{"type":"string","description":"Free-text salary details that complement the structured range (e.g. \"+ 0.5% equity, signing bonus negotiable\").","isRequired":true,"uniqueKey":"data.items.[INDEX].salary_details.oneOf.0","typeLabel":"string"},{"type":"null","description":"Free-text salary details that complement the structured range (e.g. \"+ 0.5% equity, signing bonus negotiable\").","isRequired":true,"uniqueKey":"data.items.[INDEX].salary_details.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].salary_details","typeLabel":"string | null"},"billing_contact_name":{"oneOf":[{"type":"string","description":"Name of the client-side billing contact for this job (used on invoices).","isRequired":true,"uniqueKey":"data.items.[INDEX].billing_contact_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Name of the client-side billing contact for this job (used on invoices).","isRequired":true,"uniqueKey":"data.items.[INDEX].billing_contact_name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].billing_contact_name","typeLabel":"string | null"},"billing_contact_email":{"oneOf":[{"type":"string","description":"Email of the client-side billing contact for this job. Validated as an email on write.","isRequired":true,"uniqueKey":"data.items.[INDEX].billing_contact_email.oneOf.0","typeLabel":"string"},{"type":"null","description":"Email of the client-side billing contact for this job. Validated as an email on write.","isRequired":true,"uniqueKey":"data.items.[INDEX].billing_contact_email.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].billing_contact_email","typeLabel":"string | null"},"fee":{"oneOf":[{"type":"number","description":"Manually entered forecasting fee stored on the job (used for pipeline/BD forecasting). This is NOT the fee tracked in the \"Fees and Placements\" section — for that, use the \"fees\" section (see fees.total_placement_fee).","isRequired":true,"uniqueKey":"data.items.[INDEX].fee.oneOf.0","typeLabel":"number"},{"type":"null","description":"Manually entered forecasting fee stored on the job (used for pipeline/BD forecasting). This is NOT the fee tracked in the \"Fees and Placements\" section — for that, use the \"fees\" section (see fees.total_placement_fee).","isRequired":true,"uniqueKey":"data.items.[INDEX].fee.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fee","typeLabel":"number | null"},"description":{"oneOf":[{"type":"string","description":"Plain-text job description.","isRequired":true,"uniqueKey":"data.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Plain-text job description.","isRequired":true,"uniqueKey":"data.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].description","typeLabel":"string | null"},"team_members":{"type":"array","items":{"type":"object","properties":{"team_member_id":{"type":"string","description":"Team member UUID. Matches IDs from GET /v1/team-members.","isRequired":true,"uniqueKey":"data.items.[INDEX].team_members.items.[INDEX].team_member_id","typeLabel":"string"},"email":{"oneOf":[{"type":"string","description":"Team member email address.","isRequired":true,"uniqueKey":"data.items.[INDEX].team_members.items.[INDEX].email.oneOf.0","typeLabel":"string"},{"type":"null","description":"Team member email address.","isRequired":true,"uniqueKey":"data.items.[INDEX].team_members.items.[INDEX].email.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].team_members.items.[INDEX].email","typeLabel":"string | null"},"first_name":{"oneOf":[{"type":"string","description":"First name.","isRequired":true,"uniqueKey":"data.items.[INDEX].team_members.items.[INDEX].first_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"First name.","isRequired":true,"uniqueKey":"data.items.[INDEX].team_members.items.[INDEX].first_name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].team_members.items.[INDEX].first_name","typeLabel":"string | null"},"last_name":{"oneOf":[{"type":"string","description":"Last name.","isRequired":true,"uniqueKey":"data.items.[INDEX].team_members.items.[INDEX].last_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Last name.","isRequired":true,"uniqueKey":"data.items.[INDEX].team_members.items.[INDEX].last_name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].team_members.items.[INDEX].last_name","typeLabel":"string | null"},"role_id":{"oneOf":[{"type":"string","description":"Job team member role UUID. Get available roles from GET /v1/jobs/team-member-roles.","isRequired":true,"uniqueKey":"data.items.[INDEX].team_members.items.[INDEX].role_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Job team member role UUID. Get available roles from GET /v1/jobs/team-member-roles.","isRequired":true,"uniqueKey":"data.items.[INDEX].team_members.items.[INDEX].role_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].team_members.items.[INDEX].role_id","typeLabel":"string | null"},"role_name":{"oneOf":[{"type":"string","description":"Role display name (e.g. \"Team Lead\", \"Executive Sponsor\").","isRequired":true,"uniqueKey":"data.items.[INDEX].team_members.items.[INDEX].role_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Role display name (e.g. \"Team Lead\", \"Executive Sponsor\").","isRequired":true,"uniqueKey":"data.items.[INDEX].team_members.items.[INDEX].role_name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].team_members.items.[INDEX].role_name","typeLabel":"string | null"}},"required":["team_member_id","email","first_name","last_name","role_id","role_name"],"uniqueKey":"data.items.[INDEX].team_members.items.[INDEX]","typeLabel":"object"},"description":"Team members assigned to this job with their roles.","isRequired":true,"uniqueKey":"data.items.[INDEX].team_members","typeLabel":"object[]"},"client_contacts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique ID of this contact's assignment to the job.","isRequired":true,"uniqueKey":"data.items.[INDEX].client_contacts.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"client_contact_id":{"type":"string","format":"uuid","description":"Client contact UUID. Pass these in client_contact_ids when creating or updating a job.","isRequired":true,"uniqueKey":"data.items.[INDEX].client_contacts.items.[INDEX].client_contact_id","typeLabel":"string\u003cuuid>"},"person_id":{"oneOf":[{"type":"string","format":"uuid","description":"UUID of the person this contact represents. Use GET /v1/persons/{id} for their email, phone, and title.","isRequired":true,"uniqueKey":"data.items.[INDEX].client_contacts.items.[INDEX].person_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"UUID of the person this contact represents. Use GET /v1/persons/{id} for their email, phone, and title.","isRequired":true,"uniqueKey":"data.items.[INDEX].client_contacts.items.[INDEX].person_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].client_contacts.items.[INDEX].person_id","typeLabel":"string\u003cuuid> | null"},"name":{"oneOf":[{"type":"string","description":"Contact's full name.","isRequired":true,"uniqueKey":"data.items.[INDEX].client_contacts.items.[INDEX].name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Contact's full name.","isRequired":true,"uniqueKey":"data.items.[INDEX].client_contacts.items.[INDEX].name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].client_contacts.items.[INDEX].name","typeLabel":"string | null"}},"required":["id","client_contact_id","person_id","name"],"uniqueKey":"data.items.[INDEX].client_contacts.items.[INDEX]","typeLabel":"object"},"description":"Client-side contacts assigned to this job (the \"Client Contacts\" field on the job). Always returned by GET /v1/jobs/{id}; on list and search, request it with \"client_contacts\" in the include parameter.","uniqueKey":"data.items.[INDEX].client_contacts","typeLabel":"object[]"},"share_links":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Share link ID used in the public URL path. This is a slug, not a UUID.","isRequired":true,"uniqueKey":"data.items.[INDEX].share_links.items.[INDEX].id","typeLabel":"string"},"url":{"type":"string","format":"uri","description":"Public client-pipeline URL for this share link (https://stardex.com/share/{orgSlug}/{id}).","isRequired":true,"uniqueKey":"data.items.[INDEX].share_links.items.[INDEX].url","typeLabel":"string\u003curi>"},"title":{"type":"string","description":"Share link display title.","isRequired":true,"uniqueKey":"data.items.[INDEX].share_links.items.[INDEX].title","typeLabel":"string"},"created_at":{"type":"string","description":"ISO 8601 creation timestamp.","isRequired":true,"uniqueKey":"data.items.[INDEX].share_links.items.[INDEX].created_at","typeLabel":"string"},"requires_email_verification":{"type":"boolean","description":"True if viewers must verify their email before opening the pipeline.","isRequired":true,"uniqueKey":"data.items.[INDEX].share_links.items.[INDEX].requires_email_verification","typeLabel":"boolean"},"keep_active_when_job_closed":{"type":"boolean","description":"True if this link stays publicly accessible after the job is closed. Closed-job links without this flag are omitted because they are expired.","isRequired":true,"uniqueKey":"data.items.[INDEX].share_links.items.[INDEX].keep_active_when_job_closed","typeLabel":"boolean"}},"required":["id","url","title","created_at","requires_email_verification","keep_active_when_job_closed"],"uniqueKey":"data.items.[INDEX].share_links.items.[INDEX]","typeLabel":"object"},"description":"Active client-pipeline share links for this job (expired closed-job links are omitted). Always returned by GET /v1/jobs/{id}; on list and search, request it with \"share_links\" in the include parameter.","uniqueKey":"data.items.[INDEX].share_links","typeLabel":"object[]"},"linked_deals":{"type":"array","items":{"type":"object","properties":{"deal_id":{"type":"string","format":"uuid","description":"Deal UUID. Matches IDs from GET /v1/deals/{id} or POST /v1/deals/search.","isRequired":true,"uniqueKey":"data.items.[INDEX].linked_deals.items.[INDEX].deal_id","typeLabel":"string\u003cuuid>"},"deal_job_id":{"type":"string","format":"uuid","description":"UUID of the join row in the deal_jobs table linking this job to the deal.","isRequired":true,"uniqueKey":"data.items.[INDEX].linked_deals.items.[INDEX].deal_job_id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","description":"Deal name.","isRequired":true,"uniqueKey":"data.items.[INDEX].linked_deals.items.[INDEX].name","typeLabel":"string"},"amount":{"oneOf":[{"type":"number","description":"Deal amount (fee invoiced to the client). Null if unset.","isRequired":true,"uniqueKey":"data.items.[INDEX].linked_deals.items.[INDEX].amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Deal amount (fee invoiced to the client). Null if unset.","isRequired":true,"uniqueKey":"data.items.[INDEX].linked_deals.items.[INDEX].amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].linked_deals.items.[INDEX].amount","typeLabel":"number | null"},"currency_code":{"oneOf":[{"type":"string","description":"ISO 4217 currency code for the deal amount (e.g. \"USD\").","isRequired":true,"uniqueKey":"data.items.[INDEX].linked_deals.items.[INDEX].currency_code.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 4217 currency code for the deal amount (e.g. \"USD\").","isRequired":true,"uniqueKey":"data.items.[INDEX].linked_deals.items.[INDEX].currency_code.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].linked_deals.items.[INDEX].currency_code","typeLabel":"string | null"},"deal_status_id":{"oneOf":[{"type":"string","format":"uuid","description":"Current deal status UUID, if any.","isRequired":true,"uniqueKey":"data.items.[INDEX].linked_deals.items.[INDEX].deal_status_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Current deal status UUID, if any.","isRequired":true,"uniqueKey":"data.items.[INDEX].linked_deals.items.[INDEX].deal_status_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].linked_deals.items.[INDEX].deal_status_id","typeLabel":"string\u003cuuid> | null"},"deal_status_name":{"oneOf":[{"type":"string","description":"Current deal status display name (e.g. \"Qualified\", \"Won\", \"Lost\").","isRequired":true,"uniqueKey":"data.items.[INDEX].linked_deals.items.[INDEX].deal_status_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Current deal status display name (e.g. \"Qualified\", \"Won\", \"Lost\").","isRequired":true,"uniqueKey":"data.items.[INDEX].linked_deals.items.[INDEX].deal_status_name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].linked_deals.items.[INDEX].deal_status_name","typeLabel":"string | null"},"deal_status_color":{"oneOf":[{"type":"string","description":"Hex color of the deal status badge (e.g. \"#10B981\").","isRequired":true,"uniqueKey":"data.items.[INDEX].linked_deals.items.[INDEX].deal_status_color.oneOf.0","typeLabel":"string"},{"type":"null","description":"Hex color of the deal status badge (e.g. \"#10B981\").","isRequired":true,"uniqueKey":"data.items.[INDEX].linked_deals.items.[INDEX].deal_status_color.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].linked_deals.items.[INDEX].deal_status_color","typeLabel":"string | null"}},"required":["deal_id","deal_job_id","name","amount","currency_code","deal_status_id","deal_status_name","deal_status_color"],"uniqueKey":"data.items.[INDEX].linked_deals.items.[INDEX]","typeLabel":"object"},"description":"CRM deals linked to this job via the deal_jobs join table. This is separate from the \"Fees and Placements\" section — logging a placement or retainer does NOT create a linked deal. Included on GET /v1/jobs/{id}, and on list/search when \"linked_deals\" is in the include parameter. Omitted for API-key callers without deals:read.","uniqueKey":"data.items.[INDEX].linked_deals","typeLabel":"object[]"},"fees":{"type":"object","description":"Fee and placement data from the \"Fees and Placements\" section (retainer structure, placement/retainer/milestone billing events, and total placement fee). Included on GET /v1/jobs/{id}, and on list/search when \"fees\" is in the include parameter. Omitted for API-key callers without compensation:read.","required":["retainer","fee_events","total_placement_fee"],"properties":{"retainer":{"type":"object","description":"Retainer fee structure for this job, or null if the job is not a retained engagement.","required":["id","fee_type","fee_base","fee_percentage","projected_fee","estimated_compensation","installment_count","final_payment_type","currency_code"],"properties":{"id":{"type":"string","format":"uuid","description":"Retainer UUID.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.retainer.id","typeLabel":"string\u003cuuid>"},"fee_type":{"type":"string","description":"How the projected fee is calculated (\"percentage\", \"fixed\").","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.retainer.fee_type","typeLabel":"string"},"fee_base":{"oneOf":[{"type":"string","description":"Basis the percentage applies to (e.g. \"first_year_salary\").","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.retainer.fee_base.oneOf.0","typeLabel":"string"},{"type":"null","description":"Basis the percentage applies to (e.g. \"first_year_salary\").","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.retainer.fee_base.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.retainer.fee_base","typeLabel":"string | null"},"fee_percentage":{"oneOf":[{"type":"number","description":"Fee percentage used when fee_type is percentage-based.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.retainer.fee_percentage.oneOf.0","typeLabel":"number"},{"type":"null","description":"Fee percentage used when fee_type is percentage-based.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.retainer.fee_percentage.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.retainer.fee_percentage","typeLabel":"number | null"},"projected_fee":{"type":"number","description":"Total projected engagement value for the retainer.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.retainer.projected_fee","typeLabel":"number"},"estimated_compensation":{"oneOf":[{"type":"number","description":"Estimated candidate compensation the fee is based on.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.retainer.estimated_compensation.oneOf.0","typeLabel":"number"},{"type":"null","description":"Estimated candidate compensation the fee is based on.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.retainer.estimated_compensation.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.retainer.estimated_compensation","typeLabel":"number | null"},"installment_count":{"type":"number","description":"Number of installments the retainer is split into.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.retainer.installment_count","typeLabel":"number"},"final_payment_type":{"type":"string","description":"How the final payment is handled (e.g. \"on_placement\").","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.retainer.final_payment_type","typeLabel":"string"},"currency_code":{"oneOf":[{"type":"string","description":"ISO 4217 currency code for the retainer.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.retainer.currency_code.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 4217 currency code for the retainer.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.retainer.currency_code.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.retainer.currency_code","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.retainer","typeLabel":"object"},"fee_events":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Fee event UUID.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"type":{"type":"string","enum":["retainer","milestone","placement"],"description":"Fee event type. \"placement\" is a completed placement fee; \"retainer\" and \"milestone\" are retained-search billing events.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"label":{"oneOf":[{"type":"string","description":"Optional label for the fee event.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].label.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional label for the fee event.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].label.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].label","typeLabel":"string | null"},"amount":{"oneOf":[{"type":"number","description":"Billable amount for this fee event. For placements, the full fee minus the retainers deducted from it: retainers billed on this job and, when the placement claimed one, a retainer pack retainer (see pack_retainer_amount). Never below 0. Null if unset.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Billable amount for this fee event. For placements, the full fee minus the retainers deducted from it: retainers billed on this job and, when the placement claimed one, a retainer pack retainer (see pack_retainer_amount). Never below 0. Null if unset.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].amount","typeLabel":"number | null"},"total_fee":{"oneOf":[{"type":"number","description":"Full fee for the event (for placements, the commission base before splits). Null if unset.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].total_fee.oneOf.0","typeLabel":"number"},{"type":"null","description":"Full fee for the event (for placements, the commission base before splits). Null if unset.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].total_fee.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].total_fee","typeLabel":"number | null"},"currency_code":{"oneOf":[{"type":"string","description":"ISO 4217 currency code for the fee amounts (e.g. \"USD\"). Null if unset.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].currency_code.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 4217 currency code for the fee amounts (e.g. \"USD\"). Null if unset.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].currency_code.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].currency_code","typeLabel":"string | null"},"fee_type":{"oneOf":[{"type":"string","description":"How the fee is calculated (e.g. \"percentage\", \"fixed\").","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].fee_type.oneOf.0","typeLabel":"string"},{"type":"null","description":"How the fee is calculated (e.g. \"percentage\", \"fixed\").","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].fee_type.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].fee_type","typeLabel":"string | null"},"fee_percentage":{"oneOf":[{"type":"number","description":"Fee percentage used when fee_type is percentage-based.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].fee_percentage.oneOf.0","typeLabel":"number"},{"type":"null","description":"Fee percentage used when fee_type is percentage-based.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].fee_percentage.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].fee_percentage","typeLabel":"number | null"},"compensation":{"oneOf":[{"type":"number","description":"Candidate compensation the fee percentage is applied to.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].compensation.oneOf.0","typeLabel":"number"},{"type":"null","description":"Candidate compensation the fee percentage is applied to.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].compensation.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].compensation","typeLabel":"number | null"},"firm_commission_percent":{"oneOf":[{"type":"number","description":"Firm's commission percentage for this event (0–100).","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].firm_commission_percent.oneOf.0","typeLabel":"number"},{"type":"null","description":"Firm's commission percentage for this event (0–100).","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].firm_commission_percent.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].firm_commission_percent","typeLabel":"number | null"},"is_placeholder":{"type":"boolean","description":"True if this is a projected/placeholder event rather than a confirmed one.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].is_placeholder","typeLabel":"boolean"},"sequence":{"oneOf":[{"type":"number","description":"Ordering position within the fee schedule.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].sequence.oneOf.0","typeLabel":"number"},{"type":"null","description":"Ordering position within the fee schedule.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].sequence.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].sequence","typeLabel":"number | null"},"start_date":{"oneOf":[{"type":"string","description":"Start date (YYYY-MM-DD), if any.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].start_date.oneOf.0","typeLabel":"string"},{"type":"null","description":"Start date (YYYY-MM-DD), if any.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].start_date.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].start_date","typeLabel":"string | null"},"expected_date":{"oneOf":[{"type":"string","description":"Expected billing/payment date (YYYY-MM-DD).","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].expected_date.oneOf.0","typeLabel":"string"},{"type":"null","description":"Expected billing/payment date (YYYY-MM-DD).","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].expected_date.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].expected_date","typeLabel":"string | null"},"actual_payment_date":{"oneOf":[{"type":"string","description":"Actual payment date (YYYY-MM-DD), once paid.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].actual_payment_date.oneOf.0","typeLabel":"string"},{"type":"null","description":"Actual payment date (YYYY-MM-DD), once paid.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].actual_payment_date.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].actual_payment_date","typeLabel":"string | null"},"candidate_id":{"oneOf":[{"type":"string","format":"uuid","description":"Placed candidate UUID for placement events. Matches IDs from GET /v1/candidates/{id}.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].candidate_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Placed candidate UUID for placement events. Matches IDs from GET /v1/candidates/{id}.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].candidate_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].candidate_id","typeLabel":"string\u003cuuid> | null"},"offer_id":{"oneOf":[{"type":"string","format":"uuid","description":"Associated job offer UUID, if any.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].offer_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Associated job offer UUID, if any.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].offer_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].offer_id","typeLabel":"string\u003cuuid> | null"},"retainer_id":{"oneOf":[{"type":"string","format":"uuid","description":"Parent retainer UUID for retainer installment events, if any.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].retainer_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Parent retainer UUID for retainer installment events, if any.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].retainer_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].retainer_id","typeLabel":"string\u003cuuid> | null"},"fee_status_id":{"oneOf":[{"type":"string","format":"uuid","description":"Fee status UUID, if any.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].fee_status_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Fee status UUID, if any.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].fee_status_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].fee_status_id","typeLabel":"string\u003cuuid> | null"},"fee_status_name":{"oneOf":[{"type":"string","description":"Fee status display name (e.g. \"Invoiced\", \"Paid\").","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].fee_status_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fee status display name (e.g. \"Invoiced\", \"Paid\").","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].fee_status_name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].fee_status_name","typeLabel":"string | null"},"fee_status_color":{"oneOf":[{"type":"string","description":"Hex color of the fee status badge.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].fee_status_color.oneOf.0","typeLabel":"string"},{"type":"null","description":"Hex color of the fee status badge.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].fee_status_color.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].fee_status_color","typeLabel":"string | null"},"fee_status_type":{"oneOf":[{"type":"string","enum":["pending","invoiced","paid","cancelled"],"description":"Underlying fee status category.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].fee_status_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pending","invoiced","paid","cancelled"],"description":"Underlying fee status category.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].fee_status_type.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].fee_status_type","typeLabel":"enum\u003cstring> | null"},"linked_retainer_pack_id":{"oneOf":[{"type":"string","format":"uuid","description":"Retainer pack UUID this placement is part of, from the client company's retainer packs. Null for other events and for placements outside any pack.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].linked_retainer_pack_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Retainer pack UUID this placement is part of, from the client company's retainer packs. Null for other events and for placements outside any pack.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].linked_retainer_pack_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].linked_retainer_pack_id","typeLabel":"string\u003cuuid> | null"},"claimed_pack_retainer_id":{"oneOf":[{"type":"string","format":"uuid","description":"UUID of the retainer pack retainer this placement used. Null when the placement claimed none, including extra hires linked to the pack at no retainer.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].claimed_pack_retainer_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"UUID of the retainer pack retainer this placement used. Null when the placement claimed none, including extra hires linked to the pack at no retainer.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].claimed_pack_retainer_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].claimed_pack_retainer_id","typeLabel":"string\u003cuuid> | null"},"pack_retainer_amount":{"oneOf":[{"type":"number","description":"Amount of the claimed retainer pack retainer, deducted from this placement amount. Null when no pack retainer was claimed.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].pack_retainer_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Amount of the claimed retainer pack retainer, deducted from this placement amount. Null when no pack retainer was claimed.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].pack_retainer_amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX].pack_retainer_amount","typeLabel":"number | null"}},"required":["id","type","label","amount","total_fee","currency_code","fee_type","fee_percentage","compensation","firm_commission_percent","is_placeholder","sequence","start_date","expected_date","actual_payment_date","candidate_id","offer_id","retainer_id","fee_status_id","fee_status_name","fee_status_color","fee_status_type","linked_retainer_pack_id","claimed_pack_retainer_id","pack_retainer_amount"],"uniqueKey":"data.items.[INDEX].fees.fee_events.items.[INDEX]","typeLabel":"object"},"description":"All billing events for this job — placements plus retainer installments/milestones. Filter by the \"type\" field.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.fee_events","typeLabel":"object[]"},"total_placement_fee":{"oneOf":[{"type":"number","description":"Sum of total_fee across all non-placeholder, non-cancelled placement events. Null when there are no such placements. This reflects the fees entered in the \"Fees and Placements\" section, unlike the top-level \"fee\" field which is a manually entered forecasting value on the job.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.total_placement_fee.oneOf.0","typeLabel":"number"},{"type":"null","description":"Sum of total_fee across all non-placeholder, non-cancelled placement events. Null when there are no such placements. This reflects the fees entered in the \"Fees and Placements\" section, unlike the top-level \"fee\" field which is a manually entered forecasting value on the job.","isRequired":true,"uniqueKey":"data.items.[INDEX].fees.total_placement_fee.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].fees.total_placement_fee","typeLabel":"number | null"}},"uniqueKey":"data.items.[INDEX].fees","typeLabel":"object"},"custom_fields":{"type":"array","items":{"type":"object","properties":{"attribute_id":{"type":"string","format":"uuid","description":"Attribute definition UUID. Get definitions from GET /v1/custom-fields/{entity}.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].attribute_id","typeLabel":"string\u003cuuid>"},"attribute_name":{"type":"string","description":"Attribute display name.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].attribute_name","typeLabel":"string"},"data_type":{"type":"string","enum":["string","integer","decimal","multi-select","single-select","boolean","date","multi-team-member","multi-company","url"],"description":"Attribute data type. Determines which value field contains the data.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].data_type","typeLabel":"enum\u003cstring>"},"job_id":{"oneOf":[{"type":"string","format":"uuid","description":"Job UUID this attribute is scoped to. Null for global person-level attributes. Present when this custom field is specific to a job (candidate-level field).","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].job_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Job UUID this attribute is scoped to. Null for global person-level attributes. Present when this custom field is specific to a job (candidate-level field).","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].job_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].job_id","typeLabel":"string\u003cuuid> | null"},"list_id":{"oneOf":[{"type":"string","format":"uuid","description":"List UUID this attribute is scoped to. Null for global person-level attributes.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].list_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"List UUID this attribute is scoped to. Null for global person-level attributes.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].list_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].list_id","typeLabel":"string\u003cuuid> | null"},"value":{"oneOf":[{"type":"string","description":"Scalar value for string, integer, decimal, date, url, boolean types. Null for select/team-member/company types.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].value.oneOf.0","typeLabel":"string"},{"type":"number","description":"Scalar value for string, integer, decimal, date, url, boolean types. Null for select/team-member/company types.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].value.oneOf.1","typeLabel":"number"},{"type":"boolean","description":"Scalar value for string, integer, decimal, date, url, boolean types. Null for select/team-member/company types.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].value.oneOf.2","typeLabel":"boolean"},{"type":"null","description":"Scalar value for string, integer, decimal, date, url, boolean types. Null for select/team-member/company types.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].value.oneOf.3","typeLabel":"null"},{"type":"null","description":"Scalar value for string, integer, decimal, date, url, boolean types. Null for select/team-member/company types.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].value.oneOf.4","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].value","typeLabel":"string · number · boolean · null · null"},"tag":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Tag option UUID.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].tag.oneOf.0.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","description":"Tag display name.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].tag.oneOf.0.name","typeLabel":"string"}},"required":["id","name"],"description":"Tag value for single-select and multi-select types. Null for other types. For multi-select, one CustomFieldValue row per tag.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].tag.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"id":{"type":"string","format":"uuid","description":"Tag option UUID."},"name":{"type":"string","description":"Tag display name."}},"required":["id","name"],"description":"Tag value for single-select and multi-select types. Null for other types. For multi-select, one CustomFieldValue row per tag.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].tag.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].tag","typeLabel":"object | null"},"team_member":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Team member UUID.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].team_member.oneOf.0.id","typeLabel":"string\u003cuuid>"},"name":{"oneOf":[{"type":"string","description":"Team member full name.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].team_member.oneOf.0.name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Team member full name.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].team_member.oneOf.0.name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].team_member.oneOf.0.name","typeLabel":"string | null"}},"required":["id","name"],"description":"Team member value for multi-team-member type. Null for other types. One CustomFieldValue row per team member.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].team_member.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"id":{"type":"string","format":"uuid","description":"Team member UUID."},"name":{"oneOf":[{"type":"string","description":"Team member full name."},{"type":"null","description":"Team member full name."}]}},"required":["id","name"],"description":"Team member value for multi-team-member type. Null for other types. One CustomFieldValue row per team member.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].team_member.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].team_member","typeLabel":"object | null"},"company":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Company UUID.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].company.oneOf.0.id","typeLabel":"string\u003cuuid>"},"name":{"oneOf":[{"type":"string","description":"Company display name.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].company.oneOf.0.name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Company display name.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].company.oneOf.0.name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].company.oneOf.0.name","typeLabel":"string | null"}},"required":["id","name"],"description":"Company value for multi-company type. Null for other types. One CustomFieldValue row per company.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].company.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"id":{"type":"string","format":"uuid","description":"Company UUID."},"name":{"oneOf":[{"type":"string","description":"Company display name."},{"type":"null","description":"Company display name."}]}},"required":["id","name"],"description":"Company value for multi-company type. Null for other types. One CustomFieldValue row per company.","isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].company.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX].company","typeLabel":"object | null"}},"required":["attribute_id","attribute_name","data_type","job_id","list_id","value","tag","team_member","company"],"uniqueKey":"data.items.[INDEX].custom_fields.items.[INDEX]","typeLabel":"object"},"description":"Custom attribute values. Included when include contains \"custom_fields\". Definitions from GET /v1/custom-fields/jobs.","uniqueKey":"data.items.[INDEX].custom_fields","typeLabel":"object[]"},"job_status_changes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Status-change record UUID.","isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_changes.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"job_status_id":{"type":"string","format":"uuid","description":"Status the job entered. Matches ids from GET /v1/jobs/statuses.","isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_changes.items.[INDEX].job_status_id","typeLabel":"string\u003cuuid>"},"job_status_name":{"oneOf":[{"type":"string","description":"Name of the status at the time it was recorded.","isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_changes.items.[INDEX].job_status_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Name of the status at the time it was recorded.","isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_changes.items.[INDEX].job_status_name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_changes.items.[INDEX].job_status_name","typeLabel":"string | null"},"job_status_type":{"oneOf":[{"type":"string","enum":["not_started","in_progress","closed_won","closed_lost"],"description":"Lifecycle category of that status: not_started, in_progress, closed_won, or closed_lost.","isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_changes.items.[INDEX].job_status_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["not_started","in_progress","closed_won","closed_lost"],"description":"Lifecycle category of that status: not_started, in_progress, closed_won, or closed_lost.","isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_changes.items.[INDEX].job_status_type.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_changes.items.[INDEX].job_status_type","typeLabel":"enum\u003cstring> | null"},"entered_at":{"type":"string","description":"ISO 8601 timestamp when the job entered this status.","isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_changes.items.[INDEX].entered_at","typeLabel":"string"},"exited_at":{"oneOf":[{"type":"string","description":"ISO 8601 timestamp when the job left this status. Null while this is the current status.","isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_changes.items.[INDEX].exited_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 8601 timestamp when the job left this status. Null while this is the current status.","isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_changes.items.[INDEX].exited_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_changes.items.[INDEX].exited_at","typeLabel":"string | null"},"created_at":{"type":"string","description":"ISO 8601 timestamp when this history row was recorded.","isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_changes.items.[INDEX].created_at","typeLabel":"string"},"created_by":{"oneOf":[{"type":"string","format":"uuid","description":"Team member who recorded the change. Null when the change was not attributed. Matches ids from GET /v1/team-members.","isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_changes.items.[INDEX].created_by.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Team member who recorded the change. Null when the change was not attributed. Matches ids from GET /v1/team-members.","isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_changes.items.[INDEX].created_by.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_changes.items.[INDEX].created_by","typeLabel":"string\u003cuuid> | null"},"reason_text":{"oneOf":[{"type":"string","description":"Optional note stored with the status change.","isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_changes.items.[INDEX].reason_text.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional note stored with the status change.","isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_changes.items.[INDEX].reason_text.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].job_status_changes.items.[INDEX].reason_text","typeLabel":"string | null"}},"required":["id","job_status_id","job_status_name","job_status_type","entered_at","exited_at","created_at","created_by","reason_text"],"uniqueKey":"data.items.[INDEX].job_status_changes.items.[INDEX]","typeLabel":"object"},"description":"Recorded job status history, oldest first. Each entry is one stay in a status. Included on list, search, job detail, and create when include contains \"job_status_changes\". Omitted otherwise.","uniqueKey":"data.items.[INDEX].job_status_changes","typeLabel":"object[]"},"pipeline_stages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Pipeline stage UUID, the same on every job and in GET /v1/jobs/pipeline-stages. Use in pipeline_stage_ids_included/excluded filters in POST /v1/persons/search, or as stage_id in POST /v1/candidates/update-stage.","isRequired":true,"uniqueKey":"data.items.[INDEX].pipeline_stages.items.[INDEX].id","typeLabel":"string"},"name":{"type":"string","description":"Stage display name (e.g. \"Application Review\", \"Technical Interview\").","isRequired":true,"uniqueKey":"data.items.[INDEX].pipeline_stages.items.[INDEX].name","typeLabel":"string"},"stage_order":{"type":"number","description":"Sort key for this job's stages. Sort ascending to get the pipeline order. Values can be negative or decimal and are not consecutive, so use them only for sorting.","isRequired":true,"uniqueKey":"data.items.[INDEX].pipeline_stages.items.[INDEX].stage_order","typeLabel":"number"},"is_archived":{"type":"boolean","description":"True if the stage is archived on this job or was deleted from the team's stages. Candidates already in it stay there, but POST /v1/candidates/update-stage rejects moving anyone into it (400 STAGE_ARCHIVED).","isRequired":true,"uniqueKey":"data.items.[INDEX].pipeline_stages.items.[INDEX].is_archived","typeLabel":"boolean"},"is_rejection_stage":{"type":"boolean","description":"True if this stage represents rejection/disqualification.","isRequired":true,"uniqueKey":"data.items.[INDEX].pipeline_stages.items.[INDEX].is_rejection_stage","typeLabel":"boolean"},"is_interviewing_stage":{"type":"boolean","description":"True if this stage represents an interview round.","isRequired":true,"uniqueKey":"data.items.[INDEX].pipeline_stages.items.[INDEX].is_interviewing_stage","typeLabel":"boolean"},"is_offer_stage":{"type":"boolean","description":"True if this stage represents an offer.","isRequired":true,"uniqueKey":"data.items.[INDEX].pipeline_stages.items.[INDEX].is_offer_stage","typeLabel":"boolean"},"is_placement_stage":{"type":"boolean","description":"True if this stage represents a placement (candidate hired).","isRequired":true,"uniqueKey":"data.items.[INDEX].pipeline_stages.items.[INDEX].is_placement_stage","typeLabel":"boolean"},"job_pipeline_stage_id":{"type":"string","description":"This job's copy of the stage. Matches current_job_pipeline_stage_id in candidate webhooks and previous_stage_id / new_stage_id in POST /v1/candidates/update-stage responses.","isRequired":true,"uniqueKey":"data.items.[INDEX].pipeline_stages.items.[INDEX].job_pipeline_stage_id","typeLabel":"string"}},"required":["id","name","stage_order","is_archived","is_rejection_stage","is_interviewing_stage","is_offer_stage","is_placement_stage","job_pipeline_stage_id"],"uniqueKey":"data.items.[INDEX].pipeline_stages.items.[INDEX]","typeLabel":"object"},"description":"Ordered pipeline stages for this job, same as GET /v1/jobs/{id}. Included when include contains \"pipeline_stages\".","uniqueKey":"data.items.[INDEX].pipeline_stages","typeLabel":"object[]"}},"uniqueKey":"data.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data","typeLabel":"object[]"},"meta":{"type":"object","properties":{"total":{"type":"number","description":"Total matching records across all pages.","isRequired":true,"uniqueKey":"meta.total","typeLabel":"number"},"offset":{"type":"number","description":"Current pagination offset.","isRequired":true,"uniqueKey":"meta.offset","typeLabel":"number"},"limit":{"type":"number","description":"Page size used for this request.","isRequired":true,"uniqueKey":"meta.limit","typeLabel":"number"}},"required":["total","offset","limit"],"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"required":["success","data","meta"],"uniqueKey":"","typeLabel":"object"},"example":{"success":true,"data":[{"id":"123e4567-e89b-12d3-a456-426614174000","name":"Senior Software Engineer","created_at":"2024-01-10T09:00:00Z","is_archived":false,"client_company_name":"StartupXYZ","client_company_id":"456e7890-e12b-34d5-a678-901234567890","client_company_domain":"startupxyz.com","client_company_linkedin_url":"https://www.linkedin.com/company/startupxyz","job_status_name":"Active","job_status_id":"789e0123-e45f-67a8-b901-234567890123","job_status_type":"in_progress","candidate_count":12,"location":"San Francisco, CA","primary_url":"https://startupxyz.com/careers/senior-swe","job_function":"Engineering","open_date":"2024-01-01","end_date":null,"currency_code":"USD","salary_range":"[150000,200001)","salary_min":150000,"salary_max":200000,"salary_details":"+ 0.5% equity, signing bonus negotiable","billing_contact_name":"Sarah Chen","billing_contact_email":"sarah.chen@startupxyz.com","fee":25000,"description":"We are looking for a Senior Software Engineer to join our platform team...","team_members":[{"team_member_id":"234e5678-e90a-12b3-c456-789012345678","email":"jane@company.com","first_name":"Jane","last_name":"Smith","role_id":"345e6789-e01b-23c4-d567-890123456789","role_name":"Team Lead"},{"team_member_id":"345e6789-f01b-23c4-d567-890123456789","email":"bob@company.com","first_name":"Bob","last_name":"Johnson","role_id":"456e7890-f12b-34d5-e678-901234567890","role_name":"Executive Sponsor"}],"client_contacts":[{"id":"c1d2e3f4-a5b6-7890-cdef-123456789012","client_contact_id":"d2e3f4a5-b6c7-8901-defa-234567890123","person_id":"e3f4a5b6-c7d8-9012-efab-345678901234","name":"Maria Gonzalez"}],"share_links":[{"id":"client-pipeline-abc123","url":"https://stardex.com/share/startupxyz/client-pipeline-abc123","title":"Client pipeline","created_at":"2024-01-12T14:30:00Z","requires_email_verification":true,"keep_active_when_job_closed":false}],"linked_deals":[{"deal_id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","deal_job_id":"b2c3d4e5-f6a7-8901-bcde-f12345678901","name":"StartupXYZ — Senior SWE retained search","amount":35000,"currency_code":"USD","deal_status_id":"7201a0b8-e63c-4d8f-899d-78cdd62b5c38","deal_status_name":"Qualified","deal_status_color":"#10B981"}],"fees":{"retainer":{"id":"e5f6a7b8-c9d0-1234-ef01-345678901234","fee_type":"percentage","fee_base":"first_year_salary","fee_percentage":25,"projected_fee":50000,"estimated_compensation":200000,"installment_count":3,"final_payment_type":"on_placement","currency_code":"USD"},"fee_events":[{"id":"f6a7b8c9-d0e1-2345-f012-456789012345","type":"retainer","label":"Engagement fee","amount":16666.67,"total_fee":50000,"currency_code":"USD","fee_type":"percentage","fee_percentage":25,"compensation":200000,"firm_commission_percent":100,"is_placeholder":false,"sequence":1,"start_date":"2024-01-05","expected_date":"2024-01-10","actual_payment_date":"2024-01-11","candidate_id":null,"offer_id":null,"retainer_id":"e5f6a7b8-c9d0-1234-ef01-345678901234","fee_status_id":"a7b8c9d0-e1f2-3456-0123-567890123456","fee_status_name":"Paid","fee_status_color":"#10B981","fee_status_type":"paid","linked_retainer_pack_id":null,"claimed_pack_retainer_id":null,"pack_retainer_amount":null},{"id":"b8c9d0e1-f2a3-4567-1234-678901234567","type":"placement","label":"Placement — Jane Smith","amount":21333.33,"total_fee":50000,"currency_code":"USD","fee_type":"percentage","fee_percentage":25,"compensation":200000,"firm_commission_percent":100,"is_placeholder":false,"sequence":null,"start_date":null,"expected_date":"2024-03-15","actual_payment_date":null,"candidate_id":"234e5678-e90a-12b3-c456-789012345678","offer_id":"c9d0e1f2-a3b4-5678-2345-789012345678","retainer_id":null,"fee_status_id":"d0e1f2a3-b4c5-6789-3456-890123456789","fee_status_name":"Invoiced","fee_status_color":"#3B82F6","fee_status_type":"invoiced","linked_retainer_pack_id":"2b3c4d5e-6f70-4812-9a3b-c4d5e6f70812","claimed_pack_retainer_id":"3c4d5e6f-7081-4923-ab4c-d5e6f7081923","pack_retainer_amount":12000}],"total_placement_fee":50000},"job_status_changes":[{"id":"f1a2b3c4-d5e6-7890-abcd-ef1234567890","job_status_id":"111e2222-e33f-44a5-b666-777888999000","job_status_name":"Not Started","job_status_type":"not_started","entered_at":"2024-01-01T12:00:00Z","exited_at":"2024-01-10T09:00:00Z","created_at":"2024-01-01T12:00:00Z","created_by":"234e5678-e90a-12b3-c456-789012345678","reason_text":null},{"id":"a2b3c4d5-e6f7-8901-bcde-f12345678901","job_status_id":"789e0123-e45f-67a8-b901-234567890123","job_status_name":"Active","job_status_type":"in_progress","entered_at":"2024-01-10T09:00:00Z","exited_at":null,"created_at":"2024-01-10T09:00:00Z","created_by":"234e5678-e90a-12b3-c456-789012345678","reason_text":"Kickoff complete"}],"custom_fields":[{"attribute_id":"c3d4e5f6-a7b8-9012-cdef-123456789012","attribute_name":"Priority","data_type":"single-select","value":null,"tag":{"id":"d4e5f6a7-b8c9-0123-defg-234567890123","name":"High"},"team_member":null,"company":null},{"attribute_id":"e5f6a7b8-c9d0-1234-efab-345678901234","attribute_name":"Sponsor","data_type":"multi-company","value":null,"tag":null,"team_member":null,"company":{"id":"456e7890-e12b-34d5-a678-901234567890","name":"Acme Corp"}}],"pipeline_stages":[{"id":"345e6789-e01b-23c4-d567-890123456789","job_pipeline_stage_id":"a12e3456-b78c-49d0-e123-456789012345","name":"Application Review","stage_order":1000,"is_archived":false,"is_rejection_stage":false,"is_interviewing_stage":false,"is_offer_stage":false,"is_placement_stage":false},{"id":"456e7890-f12b-34d5-e678-901234567890","job_pipeline_stage_id":"b23e4567-c89d-40e1-f234-567890123456","name":"Phone Screen","stage_order":2000,"is_archived":false,"is_rejection_stage":false,"is_interviewing_stage":true,"is_offer_stage":false,"is_placement_stage":false},{"id":"567e8901-e23c-45d6-e789-012345678901","job_pipeline_stage_id":"c34e5678-d90e-41f2-a345-678901234567","name":"Technical Interview","stage_order":2500,"is_archived":false,"is_rejection_stage":false,"is_interviewing_stage":true,"is_offer_stage":false,"is_placement_stage":false},{"id":"901e2345-b67c-89d0-e123-456789012345","job_pipeline_stage_id":"d45e6789-e01f-42a3-b456-789012345678","name":"Take Home Assessment","stage_order":2750,"is_archived":true,"is_rejection_stage":false,"is_interviewing_stage":true,"is_offer_stage":false,"is_placement_stage":false},{"id":"678e9012-f34d-56e7-f890-123456789012","job_pipeline_stage_id":"e56e7890-f12a-43b4-c567-890123456789","name":"Offer","stage_order":3000,"is_archived":false,"is_rejection_stage":false,"is_interviewing_stage":false,"is_offer_stage":true,"is_placement_stage":false},{"id":"789e0123-a45b-67c8-d901-234567890123","job_pipeline_stage_id":"f67e8901-a23b-44c5-d678-901234567890","name":"Rejected","stage_order":9000,"is_archived":false,"is_rejection_stage":true,"is_interviewing_stage":false,"is_offer_stage":false,"is_placement_stage":false}]}],"meta":{"total":25,"offset":0,"limit":200}},"examples":{"Example":{"title":"Example","value":{"success":true,"data":[{"id":"123e4567-e89b-12d3-a456-426614174000","name":"Senior Software Engineer","created_at":"2024-01-10T09:00:00Z","is_archived":false,"client_company_name":"StartupXYZ","client_company_id":"456e7890-e12b-34d5-a678-901234567890","client_company_domain":"startupxyz.com","client_company_linkedin_url":"https://www.linkedin.com/company/startupxyz","job_status_name":"Active","job_status_id":"789e0123-e45f-67a8-b901-234567890123","job_status_type":"in_progress","candidate_count":12,"location":"San Francisco, CA","primary_url":"https://startupxyz.com/careers/senior-swe","job_function":"Engineering","open_date":"2024-01-01","end_date":null,"currency_code":"USD","salary_range":"[150000,200001)","salary_min":150000,"salary_max":200000,"salary_details":"+ 0.5% equity, signing bonus negotiable","billing_contact_name":"Sarah Chen","billing_contact_email":"sarah.chen@startupxyz.com","fee":25000,"description":"We are looking for a Senior Software Engineer to join our platform team...","team_members":[{"team_member_id":"234e5678-e90a-12b3-c456-789012345678","email":"jane@company.com","first_name":"Jane","last_name":"Smith","role_id":"345e6789-e01b-23c4-d567-890123456789","role_name":"Team Lead"},{"team_member_id":"345e6789-f01b-23c4-d567-890123456789","email":"bob@company.com","first_name":"Bob","last_name":"Johnson","role_id":"456e7890-f12b-34d5-e678-901234567890","role_name":"Executive Sponsor"}],"client_contacts":[{"id":"c1d2e3f4-a5b6-7890-cdef-123456789012","client_contact_id":"d2e3f4a5-b6c7-8901-defa-234567890123","person_id":"e3f4a5b6-c7d8-9012-efab-345678901234","name":"Maria Gonzalez"}],"share_links":[{"id":"client-pipeline-abc123","url":"https://stardex.com/share/startupxyz/client-pipeline-abc123","title":"Client pipeline","created_at":"2024-01-12T14:30:00Z","requires_email_verification":true,"keep_active_when_job_closed":false}],"linked_deals":[{"deal_id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","deal_job_id":"b2c3d4e5-f6a7-8901-bcde-f12345678901","name":"StartupXYZ — Senior SWE retained search","amount":35000,"currency_code":"USD","deal_status_id":"7201a0b8-e63c-4d8f-899d-78cdd62b5c38","deal_status_name":"Qualified","deal_status_color":"#10B981"}],"fees":{"retainer":{"id":"e5f6a7b8-c9d0-1234-ef01-345678901234","fee_type":"percentage","fee_base":"first_year_salary","fee_percentage":25,"projected_fee":50000,"estimated_compensation":200000,"installment_count":3,"final_payment_type":"on_placement","currency_code":"USD"},"fee_events":[{"id":"f6a7b8c9-d0e1-2345-f012-456789012345","type":"retainer","label":"Engagement fee","amount":16666.67,"total_fee":50000,"currency_code":"USD","fee_type":"percentage","fee_percentage":25,"compensation":200000,"firm_commission_percent":100,"is_placeholder":false,"sequence":1,"start_date":"2024-01-05","expected_date":"2024-01-10","actual_payment_date":"2024-01-11","candidate_id":null,"offer_id":null,"retainer_id":"e5f6a7b8-c9d0-1234-ef01-345678901234","fee_status_id":"a7b8c9d0-e1f2-3456-0123-567890123456","fee_status_name":"Paid","fee_status_color":"#10B981","fee_status_type":"paid","linked_retainer_pack_id":null,"claimed_pack_retainer_id":null,"pack_retainer_amount":null},{"id":"b8c9d0e1-f2a3-4567-1234-678901234567","type":"placement","label":"Placement — Jane Smith","amount":21333.33,"total_fee":50000,"currency_code":"USD","fee_type":"percentage","fee_percentage":25,"compensation":200000,"firm_commission_percent":100,"is_placeholder":false,"sequence":null,"start_date":null,"expected_date":"2024-03-15","actual_payment_date":null,"candidate_id":"234e5678-e90a-12b3-c456-789012345678","offer_id":"c9d0e1f2-a3b4-5678-2345-789012345678","retainer_id":null,"fee_status_id":"d0e1f2a3-b4c5-6789-3456-890123456789","fee_status_name":"Invoiced","fee_status_color":"#3B82F6","fee_status_type":"invoiced","linked_retainer_pack_id":"2b3c4d5e-6f70-4812-9a3b-c4d5e6f70812","claimed_pack_retainer_id":"3c4d5e6f-7081-4923-ab4c-d5e6f7081923","pack_retainer_amount":12000}],"total_placement_fee":50000},"job_status_changes":[{"id":"f1a2b3c4-d5e6-7890-abcd-ef1234567890","job_status_id":"111e2222-e33f-44a5-b666-777888999000","job_status_name":"Not Started","job_status_type":"not_started","entered_at":"2024-01-01T12:00:00Z","exited_at":"2024-01-10T09:00:00Z","created_at":"2024-01-01T12:00:00Z","created_by":"234e5678-e90a-12b3-c456-789012345678","reason_text":null},{"id":"a2b3c4d5-e6f7-8901-bcde-f12345678901","job_status_id":"789e0123-e45f-67a8-b901-234567890123","job_status_name":"Active","job_status_type":"in_progress","entered_at":"2024-01-10T09:00:00Z","exited_at":null,"created_at":"2024-01-10T09:00:00Z","created_by":"234e5678-e90a-12b3-c456-789012345678","reason_text":"Kickoff complete"}],"custom_fields":[{"attribute_id":"c3d4e5f6-a7b8-9012-cdef-123456789012","attribute_name":"Priority","data_type":"single-select","value":null,"tag":{"id":"d4e5f6a7-b8c9-0123-defg-234567890123","name":"High"},"team_member":null,"company":null},{"attribute_id":"e5f6a7b8-c9d0-1234-efab-345678901234","attribute_name":"Sponsor","data_type":"multi-company","value":null,"tag":null,"team_member":null,"company":{"id":"456e7890-e12b-34d5-a678-901234567890","name":"Acme Corp"}}],"pipeline_stages":[{"id":"345e6789-e01b-23c4-d567-890123456789","job_pipeline_stage_id":"a12e3456-b78c-49d0-e123-456789012345","name":"Application Review","stage_order":1000,"is_archived":false,"is_rejection_stage":false,"is_interviewing_stage":false,"is_offer_stage":false,"is_placement_stage":false},{"id":"456e7890-f12b-34d5-e678-901234567890","job_pipeline_stage_id":"b23e4567-c89d-40e1-f234-567890123456","name":"Phone Screen","stage_order":2000,"is_archived":false,"is_rejection_stage":false,"is_interviewing_stage":true,"is_offer_stage":false,"is_placement_stage":false},{"id":"567e8901-e23c-45d6-e789-012345678901","job_pipeline_stage_id":"c34e5678-d90e-41f2-a345-678901234567","name":"Technical Interview","stage_order":2500,"is_archived":false,"is_rejection_stage":false,"is_interviewing_stage":true,"is_offer_stage":false,"is_placement_stage":false},{"id":"901e2345-b67c-89d0-e123-456789012345","job_pipeline_stage_id":"d45e6789-e01f-42a3-b456-789012345678","name":"Take Home Assessment","stage_order":2750,"is_archived":true,"is_rejection_stage":false,"is_interviewing_stage":true,"is_offer_stage":false,"is_placement_stage":false},{"id":"678e9012-f34d-56e7-f890-123456789012","job_pipeline_stage_id":"e56e7890-f12a-43b4-c567-890123456789","name":"Offer","stage_order":3000,"is_archived":false,"is_rejection_stage":false,"is_interviewing_stage":false,"is_offer_stage":true,"is_placement_stage":false},{"id":"789e0123-a45b-67c8-d901-234567890123","job_pipeline_stage_id":"f67e8901-a23b-44c5-d678-901234567890","name":"Rejected","stage_order":9000,"is_archived":false,"is_rejection_stage":true,"is_interviewing_stage":false,"is_offer_stage":false,"is_placement_stage":false}]}],"meta":{"total":25,"offset":0,"limit":200}}}},"exampleType":"examples"}},"exampleType":"examples"},"51efd7a3-0710-4e62-9850-f06a2d5a35c7":{"description":"Validation error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses.","isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","properties":{"code":{"type":"string","description":"Machine-readable error code (e.g. \"VALIDATION_ERROR\", \"NOT_FOUND\").","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error description.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"description":"Extra facts about the error when they help you fix it, such as a limit and when it resets.","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["success","error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"f6f32380-448c-430b-b9f2-61b1c2d63ea7":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses.","isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","properties":{"code":{"type":"string","description":"Machine-readable error code (e.g. \"VALIDATION_ERROR\", \"NOT_FOUND\").","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error description.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"description":"Extra facts about the error when they help you fix it, such as a limit and when it resets.","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["success","error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"966871d1-3e96-4646-acfa-e96257729746":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses.","isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","properties":{"code":{"type":"string","description":"Machine-readable error code (e.g. \"VALIDATION_ERROR\", \"NOT_FOUND\").","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error description.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"description":"Extra facts about the error when they help you fix it, such as a limit and when it resets.","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["success","error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"1a522db3-1c95-4503-bd27-0e07c9bb550d":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Authenticate with a Bearer token: API key, OAuth token, or session token.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"0f55f676-b9db-4dbe-b3e2-3132b8bc1690":{"url":"https://api.stardex.ai","description":"Production API server"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Authenticate with a Bearer token: API key, OAuth token, or session token.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Authenticate with a Bearer token: API key, OAuth token, or session token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi-v1.json"},"subdomain":"stardex","siteName":"Stardex Help Docs","title":"Search jobs - Stardex Help Docs","navMaps":{"firstHrefInVersion":{"v1":{"href":"/api-reference/jobs/search-jobs","matchLevel":0},"v0 (Deprecated)":{"href":"/api-reference/introduction","matchLevel":3}},"firstHrefInLanguage":{}},"lastModified":"2026-11-02T20:19:17.729Z","originalFileLocation":"api-reference/jobs/search-jobs.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=\"Advanced job search with filtering, sorting, and vector search. Supports all filter types: keywords, location, job status, companies, team members/roles, custom attributes (select, numeric, date, team member), and semantic vector search. AI AGENTS — Use vector_search if the user is inquiring about roles by title or title and company. Do not use keywords. Job titles have many equivalent forms (\u0026quot;VP of Engineering\u0026quot;, \u0026quot;VP Engineering\u0026quot;, \u0026quot;Engineering VP\u0026quot;, \u0026quot;Head of Engineering\u0026quot;) — keywords will silently miss them . Vector search handles all variants automatically. The exception: a verbatim job ID/code lookup where you need an exact internal reference (e.g. \u0026quot;find the jobID 1234\u0026quot;). Archive filter (is_archived): Omit to include both active and archived jobs (recommended for similar past searches, comps, pitch prep, company/sector history). Pass false for active jobs only; true for archived only. Always surface archive/status in answers. Vector search: Pass vector_search with a text query (min 5 chars) for AI-powered semantic search. Date range filters: Use created_at_gte/created_at_lte and updated_at_gte/updated_at_lte to filter by creation or modification timestamps. Custom attribute filters: Use select_attribute_filters, numeric_attribute_filters, date_attribute_filters, team_member_attribute_filters, company_attribute_filters for custom field filtering. Include control: Pass include: [\u0026quot;custom_fields\u0026quot;, \u0026quot;linked_deals\u0026quot;, \u0026quot;fees\u0026quot;, \u0026quot;client_contacts\u0026quot;, \u0026quot;share_links\u0026quot;, \u0026quot;pipeline_stages\u0026quot;, \u0026quot;job_status_changes\u0026quot;] to embed custom field values, linked deals, fee \u0026amp; placement data, client contacts, active share links, pipeline stages, and/or the recorded status history in each job. job_status_changes is ordered oldest first. For API-key callers, linked_deals requires deals:read and fees requires compensation:read; inaccessible sections are omitted. AI AGENTS — Result processing: After receiving results, reason and process them before presenting to the user. Only show jobs where the title genuinely matches what the user asked for. For example, if the user asks for \u0026quot;VP of Engineering\u0026quot; roles, exclude results like \u0026quot;VP Consumer Electronics\u0026quot; or \u0026quot;SVP Sales Engineering\u0026quot; — these are not engineering leadership roles. Show relevant results rather than regurgitating everything the vector search returns.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Stardex Help Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/stardex/joPRbrJhRInrO3yB/_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/stardex/joPRbrJhRInrO3yB/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/stardex/joPRbrJhRInrO3yB/_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/stardex/joPRbrJhRInrO3yB/_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/stardex/joPRbrJhRInrO3yB/_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/stardex/joPRbrJhRInrO3yB/_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/stardex/joPRbrJhRInrO3yB/_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/stardex/joPRbrJhRInrO3yB/_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/stardex/joPRbrJhRInrO3yB/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Search jobs - Stardex Help Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Advanced job search with filtering, sorting, and vector search. Supports all filter types: keywords, location, job status, companies, team members/roles, custom attributes (select, numeric, date, team member), and semantic vector search. AI AGENTS — Use vector_search if the user is inquiring about roles by title or title and company. Do not use keywords. Job titles have many equivalent forms (\u0026quot;VP of Engineering\u0026quot;, \u0026quot;VP Engineering\u0026quot;, \u0026quot;Engineering VP\u0026quot;, \u0026quot;Head of Engineering\u0026quot;) — keywords will silently miss them . Vector search handles all variants automatically. The exception: a verbatim job ID/code lookup where you need an exact internal reference (e.g. \u0026quot;find the jobID 1234\u0026quot;). Archive filter (is_archived): Omit to include both active and archived jobs (recommended for similar past searches, comps, pitch prep, company/sector history). Pass false for active jobs only; true for archived only. Always surface archive/status in answers. Vector search: Pass vector_search with a text query (min 5 chars) for AI-powered semantic search. Date range filters: Use created_at_gte/created_at_lte and updated_at_gte/updated_at_lte to filter by creation or modification timestamps. Custom attribute filters: Use select_attribute_filters, numeric_attribute_filters, date_attribute_filters, team_member_attribute_filters, company_attribute_filters for custom field filtering. Include control: Pass include: [\u0026quot;custom_fields\u0026quot;, \u0026quot;linked_deals\u0026quot;, \u0026quot;fees\u0026quot;, \u0026quot;client_contacts\u0026quot;, \u0026quot;share_links\u0026quot;, \u0026quot;pipeline_stages\u0026quot;, \u0026quot;job_status_changes\u0026quot;] to embed custom field values, linked deals, fee \u0026amp; placement data, client contacts, active share links, pipeline stages, and/or the recorded status history in each job. job_status_changes is ordered oldest first. For API-key callers, linked_deals requires deals:read and fees requires compensation:read; inaccessible sections are omitted. AI AGENTS — Result processing: After receiving results, reason and process them before presenting to the user. Only show jobs where the title genuinely matches what the user asked for. For example, if the user asks for \u0026quot;VP of Engineering\u0026quot; roles, exclude results like \u0026quot;VP Consumer Electronics\u0026quot; or \u0026quot;SVP Sales Engineering\u0026quot; — these are not engineering leadership roles. Show relevant results rather than regurgitating everything the vector search returns.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Stardex Help Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.stardex.com/api-reference/jobs/search-jobs\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://stardex.mintlify.app/_mintlify/api/og/v2?division=Jobs\u0026amp;title=Search+jobs\u0026amp;description=Advanced+job+search+with+filtering%2C+sorting%2C+and+vector+search.+Supports+all+filter+types%3A+keywords%2C+location%2C+job+status%2C+companies%2C+team+members%2Froles%2C+custom\u0026amp;theme=2ff938ec1d7da32d63cb34ec\u0026amp;signature=be7e544f11ce3a4c7d3927bf7b3723ba07374875d57d2499ef131877d6741960\">\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=\"Search jobs - Stardex Help Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Advanced job search with filtering, sorting, and vector search. Supports all filter types: keywords, location, job status, companies, team members/roles, custom attributes (select, numeric, date, team member), and semantic vector search. AI AGENTS — Use vector_search if the user is inquiring about roles by title or title and company. Do not use keywords. Job titles have many equivalent forms (\u0026quot;VP of Engineering\u0026quot;, \u0026quot;VP Engineering\u0026quot;, \u0026quot;Engineering VP\u0026quot;, \u0026quot;Head of Engineering\u0026quot;) — keywords will silently miss them . Vector search handles all variants automatically. The exception: a verbatim job ID/code lookup where you need an exact internal reference (e.g. \u0026quot;find the jobID 1234\u0026quot;). Archive filter (is_archived): Omit to include both active and archived jobs (recommended for similar past searches, comps, pitch prep, company/sector history). Pass false for active jobs only; true for archived only. Always surface archive/status in answers. Vector search: Pass vector_search with a text query (min 5 chars) for AI-powered semantic search. Date range filters: Use created_at_gte/created_at_lte and updated_at_gte/updated_at_lte to filter by creation or modification timestamps. Custom attribute filters: Use select_attribute_filters, numeric_attribute_filters, date_attribute_filters, team_member_attribute_filters, company_attribute_filters for custom field filtering. Include control: Pass include: [\u0026quot;custom_fields\u0026quot;, \u0026quot;linked_deals\u0026quot;, \u0026quot;fees\u0026quot;, \u0026quot;client_contacts\u0026quot;, \u0026quot;share_links\u0026quot;, \u0026quot;pipeline_stages\u0026quot;, \u0026quot;job_status_changes\u0026quot;] to embed custom field values, linked deals, fee \u0026amp; placement data, client contacts, active share links, pipeline stages, and/or the recorded status history in each job. job_status_changes is ordered oldest first. For API-key callers, linked_deals requires deals:read and fees requires compensation:read; inaccessible sections are omitted. AI AGENTS — Result processing: After receiving results, reason and process them before presenting to the user. Only show jobs where the title genuinely matches what the user asked for. For example, if the user asks for \u0026quot;VP of Engineering\u0026quot; roles, exclude results like \u0026quot;VP Consumer Electronics\u0026quot; or \u0026quot;SVP Sales Engineering\u0026quot; — these are not engineering leadership roles. Show relevant results rather than regurgitating everything the vector search returns.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://stardex.mintlify.app/_mintlify/api/og/v2?division=Jobs\u0026amp;title=Search+jobs\u0026amp;description=Advanced+job+search+with+filtering%2C+sorting%2C+and+vector+search.+Supports+all+filter+types%3A+keywords%2C+location%2C+job+status%2C+companies%2C+team+members%2Froles%2C+custom\u0026amp;theme=2ff938ec1d7da32d63cb34ec\u0026amp;signature=be7e544f11ce3a4c7d3927bf7b3723ba07374875d57d2499ef131877d6741960\">\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/stardex/joPRbrJhRInrO3yB/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Stardex Help Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#5853f7\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.stardex.com/api-reference/jobs/search-jobs\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/jobs/search-jobs.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.stardex.com/#organization\",\"name\":\"Stardex Help Docs\",\"url\":\"https://docs.stardex.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/stardex/Unebva7RlCeyAgPy/logo/light.svg?fit=max\u0026auto=format\u0026n=Unebva7RlCeyAgPy\u0026q=85\u0026s=6a32bc87265a1562f0ee3793cb4c66e7\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.stardex.com#website\",\"name\":\"Stardex Help Docs\",\"url\":\"https://docs.stardex.com\",\"publisher\":{\"@id\":\"https://docs.stardex.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.stardex.com/api-reference/jobs/search-jobs#webpage\",\"url\":\"https://docs.stardex.com/api-reference/jobs/search-jobs\",\"name\":\"Search jobs\",\"description\":\"Advanced job search with filtering, sorting, and vector search. Supports all filter types: keywords, location, job status, companies, team members/roles, custom attributes (select, numeric, date, team member), and semantic vector search. AI AGENTS — Use vector_search if the user is inquiring about roles by title or title and company. Do not use keywords. Job titles have many equivalent forms (\\\"VP of Engineering\\\", \\\"VP Engineering\\\", \\\"Engineering VP\\\", \\\"Head of Engineering\\\") — keywords will silently miss them . Vector search handles all variants automatically. The exception: a verbatim job ID/code lookup where you need an exact internal reference (e.g. \\\"find the jobID 1234\\\"). Archive filter (is_archived): Omit to include both active and archived jobs (recommended for similar past searches, comps, pitch prep, company/sector history). Pass false for active jobs only; true for archived only. Always surface archive/status in answers. Vector search: Pass vector_search with a text query (min 5 chars) for AI-powered semantic search. Date range filters: Use created_at_gte/created_at_lte and updated_at_gte/updated_at_lte to filter by creation or modification timestamps. Custom attribute filters: Use select_attribute_filters, numeric_attribute_filters, date_attribute_filters, team_member_attribute_filters, company_attribute_filters for custom field filtering. Include control: Pass include: [\\\"custom_fields\\\", \\\"linked_deals\\\", \\\"fees\\\", \\\"client_contacts\\\", \\\"share_links\\\", \\\"pipeline_stages\\\", \\\"job_status_changes\\\"] to embed custom field values, linked deals, fee \u0026 placement data, client contacts, active share links, pipeline stages, and/or the recorded status history in each job. job_status_changes is ordered oldest first. For API-key callers, linked_deals requires deals:read and fees requires compensation:read; inaccessible sections are omitted. AI AGENTS — Result processing: After receiving results, reason and process them before presenting to the user. Only show jobs where the title genuinely matches what the user asked for. For example, if the user asks for \\\"VP of Engineering\\\" roles, exclude results like \\\"VP Consumer Electronics\\\" or \\\"SVP Sales Engineering\\\" — these are not engineering leadership roles. Show relevant results rather than regurgitating everything the vector search returns.\",\"dateModified\":\"2026-11-02T20:19:17.729Z\",\"isPartOf\":{\"@id\":\"https://docs.stardex.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.stardex.com/api-reference/jobs/search-jobs#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.stardex.com/api-reference/jobs/search-jobs#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Jobs\",\"item\":\"https://docs.stardex.com/api-reference/jobs/list-jobs-deprecated\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Search jobs\",\"item\":\"https://docs.stardex.com/api-reference/jobs/search-jobs\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.stardex.com/api-reference/jobs/search-jobs#apireference\",\"headline\":\"Search jobs\",\"name\":\"Search jobs\",\"description\":\"Advanced job search with filtering, sorting, and vector search. Supports all filter types: keywords, location, job status, companies, team members/roles, custom attributes (select, numeric, date, team member), and semantic vector search. AI AGENTS — Use vector_search if the user is inquiring about roles by title or title and company. Do not use keywords. Job titles have many equivalent forms (\\\"VP of Engineering\\\", \\\"VP Engineering\\\", \\\"Engineering VP\\\", \\\"Head of Engineering\\\") — keywords will silently miss them . Vector search handles all variants automatically. The exception: a verbatim job ID/code lookup where you need an exact internal reference (e.g. \\\"find the jobID 1234\\\"). Archive filter (is_archived): Omit to include both active and archived jobs (recommended for similar past searches, comps, pitch prep, company/sector history). Pass false for active jobs only; true for archived only. Always surface archive/status in answers. Vector search: Pass vector_search with a text query (min 5 chars) for AI-powered semantic search. Date range filters: Use created_at_gte/created_at_lte and updated_at_gte/updated_at_lte to filter by creation or modification timestamps. Custom attribute filters: Use select_attribute_filters, numeric_attribute_filters, date_attribute_filters, team_member_attribute_filters, company_attribute_filters for custom field filtering. Include control: Pass include: [\\\"custom_fields\\\", \\\"linked_deals\\\", \\\"fees\\\", \\\"client_contacts\\\", \\\"share_links\\\", \\\"pipeline_stages\\\", \\\"job_status_changes\\\"] to embed custom field values, linked deals, fee \u0026 placement data, client contacts, active share links, pipeline stages, and/or the recorded status history in each job. job_status_changes is ordered oldest first. For API-key callers, linked_deals requires deals:read and fees requires compensation:read; inaccessible sections are omitted. AI AGENTS — Result processing: After receiving results, reason and process them before presenting to the user. Only show jobs where the title genuinely matches what the user asked for. For example, if the user asks for \\\"VP of Engineering\\\" roles, exclude results like \\\"VP Consumer Electronics\\\" or \\\"SVP Sales Engineering\\\" — these are not engineering leadership roles. Show relevant results rather than regurgitating everything the vector search returns.\",\"url\":\"https://docs.stardex.com/api-reference/jobs/search-jobs\",\"mainEntityOfPage\":{\"@id\":\"https://docs.stardex.com/api-reference/jobs/search-jobs#webpage\"},\"dateModified\":\"2026-11-02T20:19:17.729Z\",\"publisher\":{\"@id\":\"https://docs.stardex.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.stardex.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Stardex Help Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Stardex Help Docs","nav":{"global":{"anchors":[{"anchor":"Home page","icon":"book-open-cover","href":"https://www.stardex.com"},{"anchor":"Blog","icon":"newspaper","href":"https://www.stardex.com/blog"}]},"tabs":[{"tab":"Guides","hidden":true,"pages":[{"title":"Guides","href":"/help-center/ai-activity-updates"}]},{"tab":"Help Center","pages":[{"title":"Help Center","href":"/help-center"}]},{"tab":"Changelog","hidden":true,"pages":[{"title":"Changelog","href":"/changelog-stardex"}]},{"tab":"API Reference","versions":[{"version":"v1","groups":[{"group":"API Documentation","pages":[{"title":"Introduction","href":"/api-reference/introduction-v1"},{"title":"Enrolling people in campaigns","href":"/api-reference/campaigns-guide"}]},{"group":"Activity Reports","pages":[{"title":"Generate an activity \u0026 stage-change report","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/activity-reports","href":"/api-reference/activity-reports/generate-an-activity-\u0026-stage-change-report"}]},{"group":"Automations","pages":[{"title":"Search automations","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/automations/search","href":"/api-reference/automations/search-automations"},{"title":"List automation trigger types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/automations/trigger-types","href":"/api-reference/automations/list-automation-trigger-types"},{"title":"List automation action types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/automations/action-types","href":"/api-reference/automations/list-automation-action-types"},{"title":"List automation run statuses","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/automations/run-statuses","href":"/api-reference/automations/list-automation-run-statuses"},{"title":"Get automation by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/automations/{id}","href":"/api-reference/automations/get-automation-by-id"},{"title":"Archive automation","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/automations/{id}","href":"/api-reference/automations/archive-automation"},{"title":"Update automation","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/automations/{id}","href":"/api-reference/automations/update-automation"},{"title":"Create automation","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/automations","href":"/api-reference/automations/create-automation"},{"title":"Search automation runs","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/automations/{id}/runs/search","href":"/api-reference/automations/search-automation-runs"},{"title":"Get automation run by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/automations/runs/{runId}","href":"/api-reference/automations/get-automation-run-by-id"}]},{"group":"Calendar Meetings","pages":[{"title":"List calendar meetings","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/calendar-meetings","href":"/api-reference/calendar-meetings/list-calendar-meetings"},{"title":"Get calendar meeting by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/calendar-meetings/{id}","href":"/api-reference/calendar-meetings/get-calendar-meeting-by-id"}]},{"group":"Campaigns","pages":[{"title":"Search campaigns","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/search","href":"/api-reference/campaigns/search-campaigns"},{"title":"List campaign types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/types","href":"/api-reference/campaigns/list-campaign-types"},{"title":"List campaign variables","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/variables","href":"/api-reference/campaigns/list-campaign-variables"},{"title":"List sending mailboxes","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/mailboxes","href":"/api-reference/campaigns/list-sending-mailboxes"},{"title":"Get campaign by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/{id}","href":"/api-reference/campaigns/get-campaign-by-id"},{"title":"Update campaign","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/campaigns/{id}","href":"/api-reference/campaigns/update-campaign"},{"title":"Create campaign","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns","href":"/api-reference/campaigns/create-campaign"},{"title":"Add campaign step","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/steps","href":"/api-reference/campaigns/add-campaign-step"},{"title":"Delete campaign step","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/campaigns/{id}/steps/{step_id}","href":"/api-reference/campaigns/delete-campaign-step"},{"title":"Update campaign step","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/campaigns/{id}/steps/{step_id}","href":"/api-reference/campaigns/update-campaign-step"},{"title":"Reorder campaign steps","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/steps/reorder","href":"/api-reference/campaigns/reorder-campaign-steps"},{"title":"List enrollment status groups","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/enrollment-statuses","href":"/api-reference/campaigns/list-enrollment-status-groups"},{"title":"Prepare an enrollment","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/enrollment-batches","href":"/api-reference/campaigns/prepare-an-enrollment"},{"title":"Get an enrollment batch","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/{id}/enrollment-batches/{batch_id}","href":"/api-reference/campaigns/get-an-enrollment-batch"},{"title":"Get one person in a batch","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/{id}/enrollment-batches/{batch_id}/recipients/{recipient_id}","href":"/api-reference/campaigns/get-one-person-in-a-batch"},{"title":"Change one person in a batch","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/campaigns/{id}/enrollment-batches/{batch_id}/recipients/{recipient_id}","href":"/api-reference/campaigns/change-one-person-in-a-batch"},{"title":"Add people to a batch","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/enrollment-batches/{batch_id}/recipients","href":"/api-reference/campaigns/add-people-to-a-batch"},{"title":"Start an enrollment","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/enrollment-batches/{batch_id}/start","href":"/api-reference/campaigns/start-an-enrollment"},{"title":"Discard an enrollment batch","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/enrollment-batches/{batch_id}/discard","href":"/api-reference/campaigns/discard-an-enrollment-batch"},{"title":"Search enrollees","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/enrollments/search","href":"/api-reference/campaigns/search-enrollees"},{"title":"Get an enrollee","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/{id}/enrollments/{enrollment_id}","href":"/api-reference/campaigns/get-an-enrollee"},{"title":"Edit an enrollee's upcoming step","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/campaigns/{id}/enrollments/{enrollment_id}/steps/{step_id}","href":"/api-reference/campaigns/edit-an-enrollees-upcoming-step"},{"title":"Stop enrollees","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/enrollments/stop","href":"/api-reference/campaigns/stop-enrollees"}]},{"group":"Candidates","pages":[{"title":"Update candidate stage","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/candidates/update-stage","href":"/api-reference/candidates/update-candidate-stage"},{"title":"List rejection reasons","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/candidates/rejection-reasons","href":"/api-reference/candidates/list-rejection-reasons"},{"title":"Get candidate by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/candidates/{id}","href":"/api-reference/candidates/get-candidate-by-id"},{"title":"Remove candidate from job","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/candidates/{id}","href":"/api-reference/candidates/remove-candidate-from-job"}]},{"group":"Client Contacts","pages":[{"title":"List client contact statuses","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/client-contacts/statuses","href":"/api-reference/client-contacts/list-client-contact-statuses"},{"title":"List client contacts","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/client-contacts","href":"/api-reference/client-contacts/list-client-contacts"},{"title":"Create client contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/client-contacts","href":"/api-reference/client-contacts/create-client-contact"},{"title":"Get client contact by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/client-contacts/{id}","href":"/api-reference/client-contacts/get-client-contact-by-id"},{"title":"Update client contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/client-contacts/{id}","href":"/api-reference/client-contacts/update-client-contact"}]},{"group":"Companies","pages":[{"title":"List company client statuses","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/companies/statuses","href":"/api-reference/companies/list-company-client-statuses"},{"title":"Search companies","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/companies/search","href":"/api-reference/companies/search-companies"},{"title":"Create or update company","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/companies","href":"/api-reference/companies/create-or-update-company"},{"title":"Get company by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/companies/{id}","href":"/api-reference/companies/get-company-by-id"},{"title":"Update company","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/companies/{id}","href":"/api-reference/companies/update-company"},{"title":"List company document types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/companies/document-types","href":"/api-reference/companies/list-company-document-types"},{"title":"Get company documents","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/companies/{id}/documents","href":"/api-reference/companies/get-company-documents"},{"title":"Upload company document","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/companies/{id}/documents","href":"/api-reference/companies/upload-company-document"}]},{"group":"Company Activities","pages":[{"title":"List company activity types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/company-activities/types","href":"/api-reference/company-activities/list-company-activity-types"},{"title":"List company activities","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/company-activities","href":"/api-reference/company-activities/list-company-activities"},{"title":"Create company activity (note)","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/company-activities","href":"/api-reference/company-activities/create-company-activity-note"},{"title":"Get company activity by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/company-activities/{id}","href":"/api-reference/company-activities/get-company-activity-by-id"},{"title":"Update company activity (note) by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/company-activities/{id}","href":"/api-reference/company-activities/update-company-activity-note-by-id"}]},{"group":"Company Insights","pages":[{"title":"List AI-extracted insights for a company","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/company-insights","href":"/api-reference/company-insights/list-ai-extracted-insights-for-a-company"},{"title":"Edit content or dismiss/restore an insight","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/company-insights/{id}","href":"/api-reference/company-insights/edit-content-or-dismissrestore-an-insight"},{"title":"Dismiss multiple insights at once","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/company-insights/bulk-dismiss","href":"/api-reference/company-insights/dismiss-multiple-insights-at-once"},{"title":"Manually extract insights from an activity","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/company-insights/trigger","href":"/api-reference/company-insights/manually-extract-insights-from-an-activity"}]},{"group":"Custom Fields","pages":[{"title":"Get person custom field definitions","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/custom-fields/persons","href":"/api-reference/custom-fields/get-person-custom-field-definitions"},{"title":"Get company custom field definitions","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/custom-fields/companies","href":"/api-reference/custom-fields/get-company-custom-field-definitions"},{"title":"Get job custom field definitions","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/custom-fields/jobs","href":"/api-reference/custom-fields/get-job-custom-field-definitions"},{"title":"Get deal custom field definitions","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/custom-fields/deals","href":"/api-reference/custom-fields/get-deal-custom-field-definitions"}]},{"group":"Deal Activities","pages":[{"title":"List deal activities","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/deal-activities","href":"/api-reference/deal-activities/list-deal-activities"},{"title":"Create deal activity (note)","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/deal-activities","href":"/api-reference/deal-activities/create-deal-activity-note"},{"title":"Get deal activity by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/deal-activities/{id}","href":"/api-reference/deal-activities/get-deal-activity-by-id"},{"title":"Update deal activity (note) by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/deal-activities/{id}","href":"/api-reference/deal-activities/update-deal-activity-note-by-id"}]},{"group":"Deals","pages":[{"title":"List deal statuses","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/deals/statuses","href":"/api-reference/deals/list-deal-statuses"},{"title":"Search deals","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/deals/search","href":"/api-reference/deals/search-deals"},{"title":"Get deal by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/deals/{id}","href":"/api-reference/deals/get-deal-by-id"},{"title":"Archive deal","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/deals/{id}","href":"/api-reference/deals/archive-deal"},{"title":"Update deal","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/deals/{id}","href":"/api-reference/deals/update-deal"},{"title":"Create deal","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/deals","href":"/api-reference/deals/create-deal"}]},{"group":"Retainer Packs","pages":[{"title":"List fee statuses","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/fee-statuses","href":"/api-reference/retainer-packs/list-fee-statuses"},{"title":"List retainer packs","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/retainer-packs","href":"/api-reference/retainer-packs/list-retainer-packs"},{"title":"Create a retainer pack","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/retainer-packs","href":"/api-reference/retainer-packs/create-a-retainer-pack"},{"title":"Get a retainer pack","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/retainer-packs/{id}","href":"/api-reference/retainer-packs/get-a-retainer-pack"},{"title":"Delete a retainer pack","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/retainer-packs/{id}","href":"/api-reference/retainer-packs/delete-a-retainer-pack"},{"title":"Update a retainer pack","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/retainer-packs/{id}","href":"/api-reference/retainer-packs/update-a-retainer-pack"},{"title":"Close a retainer pack","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/retainer-packs/{id}/close","href":"/api-reference/retainer-packs/close-a-retainer-pack"},{"title":"Reopen a retainer pack","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/retainer-packs/{id}/reopen","href":"/api-reference/retainer-packs/reopen-a-retainer-pack"},{"title":"Add an adjustment to a closed retainer pack","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/retainer-packs/{id}/adjustments","href":"/api-reference/retainer-packs/add-an-adjustment-to-a-closed-retainer-pack"},{"title":"Delete a retainer pack adjustment","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/retainer-packs/{id}/adjustments/{adjustment_id}","href":"/api-reference/retainer-packs/delete-a-retainer-pack-adjustment"},{"title":"Delete an open retainer from a pack","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/retainer-packs/{id}/retainers/{retainer_id}","href":"/api-reference/retainer-packs/delete-an-open-retainer-from-a-pack"},{"title":"Replace a claimed retainer's split","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json put /v1/retainer-packs/{id}/retainers/{retainer_id}/split","href":"/api-reference/retainer-packs/replace-a-claimed-retainers-split"}]},{"group":"Job Activities","pages":[{"title":"List job activities","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/job-activities","href":"/api-reference/job-activities/list-job-activities"},{"title":"Create job activity (note)","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/job-activities","href":"/api-reference/job-activities/create-job-activity-note"},{"title":"Get job activity by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/job-activities/{id}","href":"/api-reference/job-activities/get-job-activity-by-id"},{"title":"Update job activity (note) by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/job-activities/{id}","href":"/api-reference/job-activities/update-job-activity-note-by-id"}]},{"group":"Job Offers","pages":[{"title":"List job offer statuses","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/job-offers/statuses","href":"/api-reference/job-offers/list-job-offer-statuses"},{"title":"List job offers","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/job-offers","href":"/api-reference/job-offers/list-job-offers"}]},{"group":"Jobs","pages":[{"title":"List jobs (deprecated)","deprecated":true,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs","href":"/api-reference/jobs/list-jobs-deprecated"},{"title":"Create job","description":"Create a new job with company association, pipeline template, and team member assignments. The company will be matched or created automatically based on the identifiers provided. Optionally assign `job_status_id` from GET /v1/jobs/statuses (defaults to the team default status). Optionally link existing deals by passing deal_ids — each deal must belong to the same team (resolve IDs via POST /v1/deals/search). Optionally link existing client contacts by passing client_contact_ids — each contact must belong to the same team (resolve IDs via GET /v1/client-contacts). Pass `include=job_status_changes` to embed the recorded status history on the created job, oldest first. Background AI tasks (candidate search, criteria generation) are triggered after creation. Changes made through the API only start automations that are set to run on API and MCP changes (runs_on_api_changes), so one call cannot start runs across hundreds of records by accident.","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/jobs","href":"/api-reference/jobs/create-job"},{"title":"Search jobs","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/jobs/search","href":"/api-reference/jobs/search-jobs"},{"title":"Get job by ID","description":"Retrieve detailed information about a specific job including pipeline stages, team members with roles, candidate count, custom field values, linked client contacts, referral partners, active client-pipeline share links, linked CRM deals, fee \u0026 placement data (retainer structure, billing events and total placement fee from the \"Fees and Placements\" section), and the pack retainer split. Pass `include=job_status_changes` to embed the recorded status history, oldest first. Share links expired by a closed job (unless keep_active_when_job_closed is set) are omitted. With an API key, `linked_deals` needs the `deals:read` scope, `fees` needs `compensation:read`, and `referral_partners` and `pack_retainer_split` need `fees:read`. Sections your key cannot read are left out of the response.","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/{id}","href":"/api-reference/jobs/get-job-by-id"},{"title":"Update job","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/jobs/{id}","href":"/api-reference/jobs/update-job"},{"title":"List job candidates","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/{id}/candidates","href":"/api-reference/jobs/list-job-candidates"},{"title":"List job applicants","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/{id}/applicants","href":"/api-reference/jobs/list-job-applicants"},{"title":"List job document types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/document-types","href":"/api-reference/jobs/list-job-document-types"},{"title":"Get job documents","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/{id}/documents","href":"/api-reference/jobs/get-job-documents"},{"title":"Upload job document","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/jobs/{id}/documents","href":"/api-reference/jobs/upload-job-document"},{"title":"Add job target companies","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/jobs/{id}/target-companies","href":"/api-reference/jobs/add-job-target-companies"},{"title":"Remove job target companies","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/jobs/{id}/target-companies","href":"/api-reference/jobs/remove-job-target-companies"},{"title":"List job team member roles","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/team-member-roles","href":"/api-reference/jobs/list-job-team-member-roles"},{"title":"Get job pack retainer split","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/{id}/pack-retainer-split","href":"/api-reference/jobs/get-job-pack-retainer-split"},{"title":"Set job pack retainer split","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json put /v1/jobs/{id}/pack-retainer-split","href":"/api-reference/jobs/set-job-pack-retainer-split"},{"title":"List job referral partners","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/{id}/referral-partners","href":"/api-reference/jobs/list-job-referral-partners"},{"title":"Add job referral partner","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/jobs/{id}/referral-partners","href":"/api-reference/jobs/add-job-referral-partner"},{"title":"Remove job referral partner","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/jobs/{id}/referral-partners/{client_contact_id}","href":"/api-reference/jobs/remove-job-referral-partner"},{"title":"Update job referral partner","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/jobs/{id}/referral-partners/{client_contact_id}","href":"/api-reference/jobs/update-job-referral-partner"},{"title":"List job statuses","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/statuses","href":"/api-reference/jobs/list-job-statuses"},{"title":"List pipeline stages","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/pipeline-stages","href":"/api-reference/jobs/list-pipeline-stages"}]},{"group":"Lists","pages":[{"title":"Search lists","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/lists/search","href":"/api-reference/lists/search-lists"},{"title":"Get list by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/lists/{id}","href":"/api-reference/lists/get-list-by-id"},{"title":"Create list","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/lists","href":"/api-reference/lists/create-list"},{"title":"Add list items","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/lists/{id}/items","href":"/api-reference/lists/add-list-items"},{"title":"Remove list items","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/lists/{id}/items","href":"/api-reference/lists/remove-list-items"}]},{"group":"Meeting Recordings","pages":[{"title":"List meeting recordings","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/meeting-recordings","href":"/api-reference/meeting-recordings/list-meeting-recordings"},{"title":"Get meeting recording by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/meeting-recordings/{id}","href":"/api-reference/meeting-recordings/get-meeting-recording-by-id"}]},{"group":"Person Activities","pages":[{"title":"List person activity types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/person-activities/types","href":"/api-reference/person-activities/list-person-activity-types"},{"title":"Create person activity","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/person-activities","href":"/api-reference/person-activities/create-person-activity"},{"title":"Get person activity by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/person-activities/{id}","href":"/api-reference/person-activities/get-person-activity-by-id"},{"title":"Delete person activity by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/person-activities/{id}","href":"/api-reference/person-activities/delete-person-activity-by-id"},{"title":"Update person activity by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/person-activities/{id}","href":"/api-reference/person-activities/update-person-activity-by-id"}]},{"group":"Persons","pages":[{"title":"List person reference types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/persons/reference-types","href":"/api-reference/persons/list-person-reference-types"},{"title":"Create person reference","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/{id}/references","href":"/api-reference/persons/create-person-reference"},{"title":"Delete person reference","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/persons/{id}/references/{reference_id}","href":"/api-reference/persons/delete-person-reference"},{"title":"Update person reference","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/persons/{id}/references/{reference_id}","href":"/api-reference/persons/update-person-reference"},{"title":"List persons (deprecated)","deprecated":true,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/persons","href":"/api-reference/persons/list-persons-deprecated"},{"title":"Create person","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons","href":"/api-reference/persons/create-person"},{"title":"Advanced person search","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/search","href":"/api-reference/persons/advanced-person-search"},{"title":"Get person by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/persons/{id}","href":"/api-reference/persons/get-person-by-id"},{"title":"Update person","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/persons/{id}","href":"/api-reference/persons/update-person"},{"title":"Create person compensation","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/{id}/compensations","href":"/api-reference/persons/create-person-compensation"},{"title":"Delete person compensation","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/persons/{id}/compensations/{compensation_id}","href":"/api-reference/persons/delete-person-compensation"},{"title":"Update person compensation","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/persons/{id}/compensations/{compensation_id}","href":"/api-reference/persons/update-person-compensation"},{"title":"Get unified person activities","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/persons/{id}/activities","href":"/api-reference/persons/get-unified-person-activities"},{"title":"Get person documents","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/persons/{id}/documents","href":"/api-reference/persons/get-person-documents"},{"title":"Upload person document","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/{id}/documents","href":"/api-reference/persons/upload-person-document"},{"title":"List person document types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/persons/document-types","href":"/api-reference/persons/list-person-document-types"},{"title":"Set preferred email (bulk)","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/preferred-email","href":"/api-reference/persons/set-preferred-email-bulk"},{"title":"Set preferred phone (bulk)","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/preferred-phone","href":"/api-reference/persons/set-preferred-phone-bulk"},{"title":"Mark emails as bounced (bulk)","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/email-bounced","href":"/api-reference/persons/mark-emails-as-bounced-bulk"},{"title":"Remove emails (bulk)","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/emails/delete","href":"/api-reference/persons/remove-emails-bulk"},{"title":"Set preferred email","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/{id}/preferred-email","href":"/api-reference/persons/set-preferred-email"},{"title":"Set preferred phone","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/{id}/preferred-phone","href":"/api-reference/persons/set-preferred-phone"},{"title":"Enrich person contact details","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/{id}/enrich","href":"/api-reference/persons/enrich-person-contact-details"}]},{"group":"Scorecards","pages":[{"title":"Search scorecard templates","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/scorecard-templates/search","href":"/api-reference/scorecards/search-scorecard-templates"},{"title":"Get scorecard template by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/scorecard-templates/{id}","href":"/api-reference/scorecards/get-scorecard-template-by-id"},{"title":"Archive scorecard template","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/scorecard-templates/{id}","href":"/api-reference/scorecards/archive-scorecard-template"},{"title":"Update scorecard template","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/scorecard-templates/{id}","href":"/api-reference/scorecards/update-scorecard-template"},{"title":"Create scorecard template","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/scorecard-templates","href":"/api-reference/scorecards/create-scorecard-template"},{"title":"Search scorecards","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/scorecards/search","href":"/api-reference/scorecards/search-scorecards"},{"title":"Get scorecard by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/scorecards/{id}","href":"/api-reference/scorecards/get-scorecard-by-id"},{"title":"Delete scorecard","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/scorecards/{id}","href":"/api-reference/scorecards/delete-scorecard"},{"title":"Update scorecard","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/scorecards/{id}","href":"/api-reference/scorecards/update-scorecard"},{"title":"Create scorecard","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/scorecards","href":"/api-reference/scorecards/create-scorecard"}]},{"group":"Tasks","pages":[{"title":"Search tasks","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/tasks/search","href":"/api-reference/tasks/search-tasks"},{"title":"Get task by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/tasks/{id}","href":"/api-reference/tasks/get-task-by-id"},{"title":"Delete task","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/tasks/{id}","href":"/api-reference/tasks/delete-task"},{"title":"Update task","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/tasks/{id}","href":"/api-reference/tasks/update-task"},{"title":"Create task","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/tasks","href":"/api-reference/tasks/create-task"}]},{"group":"Team Capacity","pages":[{"title":"Get the Team Capacity report","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/team-capacity","href":"/api-reference/team-capacity/get-the-team-capacity-report"},{"title":"Update Team Capacity settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/team-capacity/settings","href":"/api-reference/team-capacity/update-team-capacity-settings"}]},{"group":"Team Members","pages":[{"title":"List team members","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/team-members","href":"/api-reference/team-members/list-team-members"},{"title":"Get team member by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/team-members/{id}","href":"/api-reference/team-members/get-team-member-by-id"}]},{"group":"Webhooks","pages":[{"title":"Get webhook management portal URL","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/webhooks/portal","href":"/api-reference/webhooks/get-webhook-management-portal-url"}]}]},{"version":"v0 (Deprecated)","pages":[{"title":"v0 (Deprecated)","href":"/api-reference/introduction"}]}]},{"tab":"Zapier API Reference","hidden":true,"pages":[{"title":"Zapier API Reference","href":"/api-reference/zapier-introduction"}]}]},"basePath":"","title":"Search jobs - Stardex Help Docs","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DCDCdBVX.js","utils-ME8dDnLe.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-0e84ACsd.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-wgRBj-ia.js","snippetPresets-C11Sgb-o.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-C0lapOpP.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-ZeRQV8fF.js","shallow-BupWh095.js","getApiPlaygroundDisplay-BnYQO2Ss.js","CodeSnippet-RKKOc8c_.js","CodeSnippets-Drf_m8wS.js","Page-Bevw23-4.js","getPastedJson-u6QiPzNZ.js","icon-Bb-CBSxO.js","MethodPill-F7l5AI7V.js","DuplicateIcon-IiAXkdSg.js","createIcon-FliI8EBc.js","DynamicMarkdown-B62XqCSI.js","SectionHeading-Dj31pT03.js","axios-vUo_bRtp.js","Markdown-BOgQCTwD.js","clsx-BIWXJmsZ.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DKZWslLH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-UDqbR6xh.js"]}