{"openapi":"3.1.0","info":{"title":"API Reference","version":"1.0.0"},"paths":{"/positions":{"get":{"operationId":"listPositions","summary":"List positions","tags":["positions"],"parameters":[{"name":"clientId","in":"query","description":"Filter to positions managed on behalf of this client (an agency's sub-company). Mutually exclusive with clientSlug — if both are given, clientId wins. Returns 400 if it doesn't match a client of this company.","required":false,"schema":{"type":"string"}},{"name":"clientSlug","in":"query","description":"Same as clientId, but by the client's slug instead of its ID.","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","description":"Filter to positions with this publish status. See Position.status.","required":false,"schema":{"$ref":"#/components/schemas/PositionsGetParametersStatus"}},{"name":"take","in":"query","description":"Page size, max 100 (default 50).","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"cursor","in":"query","description":"Position ID to resume pagination from (from a previous `nextCursor`).","required":false,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"API key created in company settings, sent as `Authorization: Bearer <key>`.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Positions the API key can access.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Positions_listPositions_Response_200"}}}},"400":{"description":"clientId/clientSlug doesn't match a client of this company, or status is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"API key does not have access to the requested company or position's data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded. See the Retry-After header for when to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/positions/{id}":{"get":{"operationId":"getPosition","summary":"Get a position","tags":["positions"],"parameters":[{"name":"id","in":"path","description":"The position ID.","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"API key created in company settings, sent as `Authorization: Bearer <key>`.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Position detail.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Positions_getPosition_Response_200"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"API key does not have access to the requested company or position's data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Position not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded. See the Retry-After header for when to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/clients":{"get":{"operationId":"listClients","summary":"List an agency's clients","tags":["clients"],"parameters":[{"name":"Authorization","in":"header","description":"API key created in company settings, sent as `Authorization: Bearer <key>`.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The API key's company's clients (sub-companies). Empty if the company isn't an agency (has no clients).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Clients_listClients_Response_200"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"API key does not have access to the requested company or position's data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded. See the Retry-After header for when to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/clients/{id}":{"get":{"operationId":"getClient","summary":"Get a client","tags":["clients"],"parameters":[{"name":"id","in":"path","description":"The client's ID or slug.","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"API key created in company settings, sent as `Authorization: Bearer <key>`.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Client detail.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Clients_getClient_Response_200"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"API key does not have access to the requested company or position's data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Client not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded. See the Retry-After header for when to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/positions/{id}/candidates":{"get":{"operationId":"listPositionCandidates","summary":"List candidates for a position","tags":["candidates"],"parameters":[{"name":"id","in":"path","description":"The position ID.","required":true,"schema":{"type":"string"}},{"name":"take","in":"query","description":"Page size, max 100 (default 50).","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"cursor","in":"query","description":"Candidate ID to resume pagination from (from a previous `nextCursor`).","required":false,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"API key created in company settings, sent as `Authorization: Bearer <key>`.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Paginated candidates for the position.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Candidates_listPositionCandidates_Response_200"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"API key does not have access to the requested company or position's data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded. See the Retry-After header for when to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/positions/{id}/performance":{"get":{"operationId":"getPositionPerformance","summary":"Get performance metrics for a position","tags":["candidates"],"parameters":[{"name":"id","in":"path","description":"The position ID.","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"API key created in company settings, sent as `Authorization: Bearer <key>`.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Aggregate vouch/candidate counts for the position.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Candidates_getPositionPerformance_Response_200"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"API key does not have access to the requested company or position's data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded. See the Retry-After header for when to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/career-pages":{"get":{"operationId":"listCareerPages","summary":"List career pages","tags":["careerPages"],"parameters":[{"name":"forAgency","in":"query","description":"true: only the API key's own company's careers pages; false: only its clients' pages. Omit for both.","required":false,"schema":{"type":"boolean"}},{"name":"isDefault","in":"query","description":"Filter to (or away from) each company's default careers page.","required":false,"schema":{"type":"boolean"}},{"name":"take","in":"query","description":"Page size, max 100 (default 50).","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"cursor","in":"query","description":"Career page ID to resume pagination from (from a previous `nextCursor`).","required":false,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"API key created in company settings, sent as `Authorization: Bearer <key>`.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Active careers pages for the API key's company and, for an agency, its clients — including the Vouch marketplace, flagged isMarketplace. Paginated; default pages first.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Career pages_listCareerPages_Response_200"}}}},"400":{"description":"forAgency/isDefault is not true/false, or take is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"API key does not have access to the requested company or position's data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded. See the Retry-After header for when to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/career-pages/{id}/positions":{"get":{"operationId":"listCareerPagePositions","summary":"List the positions live on a career page","tags":["careerPages"],"parameters":[{"name":"id","in":"path","description":"The career page's ID (its referral link ID, as returned by GET /career-pages).","required":true,"schema":{"type":"string"}},{"name":"take","in":"query","description":"Page size, max 100 (default 50).","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"cursor","in":"query","description":"Position ID to resume pagination from (from a previous `nextCursor`).","required":false,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"API key created in company settings, sent as `Authorization: Bearer <key>`.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Positions currently visible on this career page — published, not paused/expired, and enabled on the page. enableApplication/enableVouch reflect any per-page override.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Career pages_listCareerPagePositions_Response_200"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"API key does not have access to the requested company or position's data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Career page not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded. See the Retry-After header for when to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/career-pages/{id}/positions/{positionId}":{"get":{"operationId":"getCareerPagePosition","summary":"Get a position via a career page","tags":["careerPages"],"parameters":[{"name":"id","in":"path","description":"The career page's ID (its referral link ID, as returned by GET /career-pages).","required":true,"schema":{"type":"string"}},{"name":"positionId","in":"path","description":"The position ID.","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"API key created in company settings, sent as `Authorization: Bearer <key>`.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Full position detail (same fields as GET /positions/{id}) with this career page's link fields flattened in, instead of the sharingLinks/careerPagesLinks arrays.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Career pages_getCareerPagePosition_Response_200"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"API key does not have access to the requested company or position's data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Career page not found, or the position is not live on it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded. See the Retry-After header for when to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"servers":[{"url":"https://vouch.careers/api/v1","description":"Production"}],"webhooks":{"subpackage_webhooks.positionCreated":{"post":{"operationId":"subpackage_webhooks.positionCreated","summary":"POSITION_CREATED","parameters":[{"name":"x-vouch-signature","in":"header","description":"HMAC-SHA256 signature: `t=<unix timestamp>,v1=<hex hmac of \"{t}.{raw body}\" keyed by your webhook secret>`. Reject requests older than 5 minutes.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PositionCreatedPayload"}}}}}},"subpackage_webhooks.positionUpdated":{"post":{"operationId":"subpackage_webhooks.positionUpdated","summary":"POSITION_UPDATED","parameters":[{"name":"x-vouch-signature","in":"header","description":"HMAC-SHA256 signature: `t=<unix timestamp>,v1=<hex hmac of \"{t}.{raw body}\" keyed by your webhook secret>`. Reject requests older than 5 minutes.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PositionUpdatedPayload"}}}}}},"subpackage_webhooks.candidateAdded":{"post":{"operationId":"subpackage_webhooks.candidateAdded","summary":"CANDIDATE_ADDED","parameters":[{"name":"x-vouch-signature","in":"header","description":"HMAC-SHA256 signature: `t=<unix timestamp>,v1=<hex hmac of \"{t}.{raw body}\" keyed by your webhook secret>`. Reject requests older than 5 minutes.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CandidateAddedPayload"}}}}}},"subpackage_webhooks.candidateStageUpdated":{"post":{"operationId":"subpackage_webhooks.candidateStageUpdated","summary":"CANDIDATE_STAGE_UPDATED","parameters":[{"name":"x-vouch-signature","in":"header","description":"HMAC-SHA256 signature: `t=<unix timestamp>,v1=<hex hmac of \"{t}.{raw body}\" keyed by your webhook secret>`. Reject requests older than 5 minutes.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CandidateStageUpdatedPayload"}}}}}},"subpackage_webhooks.candidateHired":{"post":{"operationId":"subpackage_webhooks.candidateHired","summary":"CANDIDATE_HIRED","parameters":[{"name":"x-vouch-signature","in":"header","description":"HMAC-SHA256 signature: `t=<unix timestamp>,v1=<hex hmac of \"{t}.{raw body}\" keyed by your webhook secret>`. Reject requests older than 5 minutes.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CandidateHiredPayload"}}}}}}},"components":{"schemas":{"PositionsGetParametersStatus":{"type":"string","enum":["DRAFT","PUBLISHED","ACTIVE","PAUSED","ARCHIVED"],"title":"PositionsGetParametersStatus"},"PositionStatus":{"type":"string","enum":["DRAFT","PUBLISHED","ACTIVE","PAUSED","ARCHIVED"],"description":"Publish lifecycle status — derived automatically from publish/pause/archive actions and whether the position currently has any live, reachable link (an active sharing link or careers page listing), never set directly. 'DRAFT': never published. 'PUBLISHED': published and currently reachable via at least one active link. 'ACTIVE': published and not paused, but not currently reachable via any active link right now (e.g. every link on it is temporarily inactive). 'PAUSED': published and explicitly paused, not currently reachable. 'ARCHIVED': closed (archived or deleted).","title":"PositionStatus"},"PositionLanguage":{"type":"string","enum":["NO","DK","EN","SE","GB"],"title":"PositionLanguage"},"PositionEmploymentTypeItems":{"type":"string","enum":["Full-time","Part-time","On-site","Temporary","Internship","Volunteer","Contract","Remote","Hybrid"],"title":"PositionEmploymentTypeItems"},"Location":{"type":"object","properties":{"id":{"type":"string"},"address":{"type":"string"},"city":{"type":"string"},"country":{"type":"string"},"locality":{"type":["string","null"]},"postalCode":{"type":["string","null"]},"administrativeArea":{"type":["string","null"]},"subAdministrativeArea":{"type":["string","null"]},"lat":{"type":"number","format":"double"},"lng":{"type":"number","format":"double"}},"required":["id","address","city","country","locality","postalCode","administrativeArea","subAdministrativeArea","lat","lng"],"title":"Location"},"CompanySummary":{"type":"object","properties":{"name":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["name","logoUrl"],"title":"CompanySummary"},"Position":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"pitch":{"type":["string","null"],"description":"One-paragraph pitch/summary for the position — also woven into the opening of contentHtml (on the detail endpoint), not just this field."},"status":{"$ref":"#/components/schemas/PositionStatus","description":"Publish lifecycle status — derived automatically from publish/pause/archive actions and whether the position currently has any live, reachable link (an active sharing link or careers page listing), never set directly. 'DRAFT': never published. 'PUBLISHED': published and currently reachable via at least one active link. 'ACTIVE': published and not paused, but not currently reachable via any active link right now (e.g. every link on it is temporarily inactive). 'PAUSED': published and explicitly paused, not currently reachable. 'ARCHIVED': closed (archived or deleted)."},"language":{"$ref":"#/components/schemas/PositionLanguage"},"employmentType":{"type":"array","items":{"$ref":"#/components/schemas/PositionEmploymentTypeItems"},"description":"Employment type tags for this position (e.g. Full-time, Remote, Internship)."},"listingColor":{"type":["string","null"]},"bannerUrl":{"type":["string","null"]},"locations":{"type":"array","items":{"$ref":"#/components/schemas/Location"}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"publishedAt":{"type":["string","null"],"format":"date-time"},"lastPublishedAt":{"type":["string","null"],"format":"date-time"},"firstActivatedAt":{"type":["string","null"],"format":"date-time"},"expirationDate":{"type":["string","null"],"format":"date-time"},"enableApplication":{"type":"boolean"},"enableVouch":{"type":"boolean"},"company":{"$ref":"#/components/schemas/CompanySummary"}},"required":["id","title","pitch","status","language","employmentType","listingColor","bannerUrl","locations","createdAt","updatedAt","publishedAt","lastPublishedAt","firstActivatedAt","expirationDate","enableApplication","enableVouch","company"],"title":"Position"},"Positions_listPositions_Response_200":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Position"}},"nextCursor":{"type":["string","null"]}},"required":["data","nextCursor"],"title":"Positions_listPositions_Response_200"},"Error":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}},"required":["error","code"],"title":"Error"},"PositionDetailStatus":{"type":"string","enum":["DRAFT","PUBLISHED","ACTIVE","PAUSED","ARCHIVED"],"description":"Publish lifecycle status — derived automatically from publish/pause/archive actions and whether the position currently has any live, reachable link (an active sharing link or careers page listing), never set directly. 'DRAFT': never published. 'PUBLISHED': published and currently reachable via at least one active link. 'ACTIVE': published and not paused, but not currently reachable via any active link right now (e.g. every link on it is temporarily inactive). 'PAUSED': published and explicitly paused, not currently reachable. 'ARCHIVED': closed (archived or deleted).","title":"PositionDetailStatus"},"PositionDetailLanguage":{"type":"string","enum":["NO","DK","EN","SE","GB"],"title":"PositionDetailLanguage"},"PositionDetailEmploymentTypeItems":{"type":"string","enum":["Full-time","Part-time","On-site","Temporary","Internship","Volunteer","Contract","Remote","Hybrid"],"title":"PositionDetailEmploymentTypeItems"},"CompanyIndustriesItems":{"type":"string","enum":["AKVAKULTUR","HAVBRUK","FISKERI","EMPLOYER_EMPLOYEE_ORGANIZATIONS","ARCHITECTURE_AREA","ARCHIVE_LIBRARY","BANK","CHILD_SCHOOL_EDUCATION","CAR_VEHICLE_WORKSHOP","CAR_PARTS_MANUFACTURING","STORE_RETAIL","CONSTRUCTION","MAINTENANCE_SERVICES","ANIMALS_ANIMAL_HEALTH","REAL_ESTATE","ELECTRONICS","EVENTS","PHARMACEUTICAL_MEDICINE","FINANCE","PUBLISHING_PRINTING","INSURANCE","RESEARCH_EDUCATION_SCIENCE","WHOLESALE_IMPORT_EXPORT","HR","HEALTHCARE","HOTEL_ACCOMMODATION","INFORMATION_TECHNOLOGY","NON_PROFIT_ORGANIZATIONS","SPORTS_TRAINING","INDUSTRY_MANUFACTURING","ONLINE_SERVICES","LEGAL_SERVICES","CHEMICAL_INDUSTRY","CONSULTING_ADVISORY","POWER_ENERGY","ART_CULTURE","AVIATION","MARITIME_OFFSHORE","MARKET_ANALYSIS","MARKETING_ADVERTISING","FOOD_PRODUCTION_INDUSTRY","MEDIA_CONTENT_PRODUCTION","MEDICAL_EQUIPMENT_SUPPLIES","ENVIRONMENTAL_SERVICES","MUSEUMS_GALLERIES_CULTURAL_HERITAGE","MUSIC","PUBLIC_ADMINISTRATION","OIL_GAS","ORGANIZATIONS","ORGANIZATION_DEVELOPMENT","PR_INFORMATION_COMMUNICATION","POLICE_SECURITY","TRAVEL_TOURISM","RECRUITMENT","WASTE_CLEANING","RESTAURANT_FOOD_NIGHTLIFE","SHIPPING","TELECOMMUNICATIONS","TRANSPORT_LOGISTICS","ENTERTAINMENT","ECONOMY_ACCOUNTING","VENTURE_CAPITAL","SOFTWARE_DEVELOPMENT","PRIVATE_EQUITY","OTHER","SPACE","GROUND_STATION"],"title":"CompanyIndustriesItems"},"CompanyLanguage":{"type":"string","enum":["NO","DK","EN","SE","GB"],"title":"CompanyLanguage"},"Company":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"website":{"type":"string"},"logoUrl":{"type":["string","null"]},"industries":{"type":"array","items":{"$ref":"#/components/schemas/CompanyIndustriesItems"}},"country":{"type":"string"},"language":{"oneOf":[{"$ref":"#/components/schemas/CompanyLanguage"},{"type":"null"}]},"brandColor":{"type":["string","null"]},"bannerUrl":{"type":["string","null"]},"socialMediaLinks":{"type":"object","additionalProperties":{"type":"string"}},"contentHtml":{"type":"string","description":"The company's text-only description as HTML (job-board tag subset). This is what job boards receive: a manually edited text when the company has one, otherwise the text derived from the company's sections."},"contentHtmlDefault":{"type":"string","description":"The text derived from the company sections, regardless of any manual edit."},"contentHtmlOverride":{"type":["string","null"],"description":"The manually edited text, or null when contentHtml is the derived default."},"locations":{"type":"array","items":{"$ref":"#/components/schemas/Location"}},"images":{"type":"array","items":{"type":"array","items":{"type":"string"}},"description":"The company's image gallery sections — contentHtml doesn't include these (a photo gallery has no inline-HTML equivalent), so they're surfaced separately here. One array per image gallery section (in section order), each holding that section's image URLs (in image order), fully resolved and ready to use directly."}},"required":["id","name","slug","website","logoUrl","industries","country","language","brandColor","bannerUrl","socialMediaLinks","contentHtml","contentHtmlDefault","contentHtmlOverride","locations","images"],"title":"Company"},"PositionDetailSalaryCurrency":{"type":"string","enum":["NOK","SEK","DKK","EUR","GBP","USD","CAD","AUD"],"title":"PositionDetailSalaryCurrency"},"PositionDetailSalary":{"type":"object","properties":{"type":{"type":["string","null"]},"currency":{"oneOf":[{"$ref":"#/components/schemas/PositionDetailSalaryCurrency"},{"type":"null"}]},"minSalary":{"type":["number","null"],"format":"double"},"maxSalary":{"type":["number","null"],"format":"double"},"extra":{"type":["string","null"]}},"required":["type","currency","minSalary","maxSalary","extra"],"title":"PositionDetailSalary"},"SharingLinkType":{"type":"string","enum":["JOB_BOARD","AD","NETWORK","OTHER"],"description":"The kind of sharing link: a job board posting, an ad, a referral network, or other.","title":"SharingLinkType"},"SharingLink":{"type":"object","properties":{"id":{"type":"string","description":"The referral link ID backing this sharing link."},"idForEmbedded":{"type":"string","description":"The value to use for the embedded widget (iframe src / data-vouch-* attributes) — see the Embedded Widget guide. Same as `id` for a direct sharing link."},"type":{"$ref":"#/components/schemas/SharingLinkType","description":"The kind of sharing link: a job board posting, an ad, a referral network, or other."},"platform":{"type":"string","description":"Free-text platform label, e.g. 'THE_HUB', 'FINN', 'NAV', 'WEBSITE', 'EMPLOYEE', 'SOCIAL_MEDIA'."},"name":{"type":"string"},"jobUrl":{"type":"string","description":"Public job position page for this sharing link."},"applyUrl":{"type":"string","description":"Direct link to the application form for this sharing link."},"vouchUrl":{"type":"string","description":"Direct link to the referral (vouch) form for this sharing link."}},"required":["id","idForEmbedded","type","platform","name","jobUrl","applyUrl","vouchUrl"],"title":"SharingLink"},"CareerPageLink":{"type":"object","properties":{"id":{"type":"string","description":"The referral link ID backing this careers page."},"idForEmbedded":{"type":"string","description":"The value to use for the embedded widget (iframe src / data-vouch-* attributes) — see the Embedded Widget guide. NOT the same as `id` — this is `<id>.<positionId>`, since a careers page embed needs to know which position to show."},"name":{"type":"string"},"forAgency":{"type":"boolean","description":"True if this careers page belongs to the agency itself (lists positions across all its clients), not one specific client."},"forClient":{"type":"boolean","description":"True if this careers page belongs specifically to the client this position is managed for."},"isDefault":{"type":"boolean","description":"True if this is the default careers page for its company."},"isMarketplace":{"type":"boolean","description":"True if this is the Vouch marketplace (vouch.careers) rather than a company careers page — modelled the same way, with the same URL shape."},"jobUrl":{"type":"string","description":"Public job position page on this careers page."},"applyUrl":{"type":"string","description":"Direct link to the application form via this careers page."},"vouchUrl":{"type":"string","description":"Direct link to the referral (vouch) form via this careers page."}},"required":["id","idForEmbedded","name","forAgency","forClient","isDefault","isMarketplace","jobUrl","applyUrl","vouchUrl"],"title":"CareerPageLink"},"PositionDetail":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"pitch":{"type":["string","null"],"description":"One-paragraph pitch/summary for the position — also woven into the opening of contentHtml (on the detail endpoint), not just this field."},"status":{"$ref":"#/components/schemas/PositionDetailStatus","description":"Publish lifecycle status — derived automatically from publish/pause/archive actions and whether the position currently has any live, reachable link (an active sharing link or careers page listing), never set directly. 'DRAFT': never published. 'PUBLISHED': published and currently reachable via at least one active link. 'ACTIVE': published and not paused, but not currently reachable via any active link right now (e.g. every link on it is temporarily inactive). 'PAUSED': published and explicitly paused, not currently reachable. 'ARCHIVED': closed (archived or deleted)."},"language":{"$ref":"#/components/schemas/PositionDetailLanguage"},"employmentType":{"type":"array","items":{"$ref":"#/components/schemas/PositionDetailEmploymentTypeItems"},"description":"Employment type tags for this position (e.g. Full-time, Remote, Internship)."},"listingColor":{"type":["string","null"]},"bannerUrl":{"type":["string","null"]},"locations":{"type":"array","items":{"$ref":"#/components/schemas/Location"}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"publishedAt":{"type":["string","null"],"format":"date-time"},"lastPublishedAt":{"type":["string","null"],"format":"date-time"},"firstActivatedAt":{"type":["string","null"],"format":"date-time"},"expirationDate":{"type":["string","null"],"format":"date-time"},"enableApplication":{"type":"boolean"},"enableVouch":{"type":"boolean"},"company":{"$ref":"#/components/schemas/Company"},"highlights":{"type":["array","null"],"items":{"type":"string"}},"salary":{"oneOf":[{"$ref":"#/components/schemas/PositionDetailSalary"},{"type":"null"}]},"contentHtml":{"type":"string","description":"The position's text-only description as HTML (job-board tag subset). This is what job boards receive: a manually edited text when the position has one, otherwise the text derived from its sections."},"contentHtmlDefault":{"type":"string","description":"The text derived from the position's sections, regardless of any manual edit."},"contentHtmlOverride":{"type":["string","null"],"description":"The manually edited text, or null when contentHtml is the derived default."},"images":{"type":"array","items":{"type":"array","items":{"type":"string"}},"description":"This position's image gallery sections — contentHtml doesn't include these (a photo gallery has no inline-HTML equivalent), so they're surfaced separately here. One array per image gallery section (in section order), each holding that section's image URLs (in image order), fully resolved and ready to use directly."},"sharingLinks":{"type":"array","items":{"$ref":"#/components/schemas/SharingLink"},"description":"Active direct channels for this position (job boards, ads, referral networks). Use these to link candidates to apply/refer, or to embed the Vouch widget. See the Embedded Widget guide."},"careerPagesLinks":{"type":"array","items":{"$ref":"#/components/schemas/CareerPageLink"},"description":"Active company careers pages this position is listed on."}},"required":["id","title","pitch","status","language","employmentType","listingColor","bannerUrl","locations","createdAt","updatedAt","publishedAt","lastPublishedAt","firstActivatedAt","expirationDate","enableApplication","enableVouch","company","highlights","salary","contentHtml","contentHtmlDefault","contentHtmlOverride","images","sharingLinks","careerPagesLinks"],"title":"PositionDetail"},"Positions_getPosition_Response_200":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PositionDetail"}},"required":["data"],"title":"Positions_getPosition_Response_200"},"Clients_listClients_Response_200":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Company"}}},"required":["data"],"title":"Clients_listClients_Response_200"},"Clients_getClient_Response_200":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Company"}},"required":["data"],"title":"Clients_getClient_Response_200"},"CandidateVouchStage":{"type":"string","enum":["PRESCREENING","REFERRAL_CREATED","READY_FOR_REVIEW","ACCEPTED_BY_COMPANY","CONTACTED_BY_COMPANY","OFFER_MADE","HIRED","REJECTED","OUT_OF_PROCESS"],"title":"CandidateVouchStage"},"CandidateVouchCandidate":{"type":"object","properties":{"id":{"type":["string","null"]},"firstName":{"type":["string","null"]},"lastName":{"type":["string","null"]},"email":{"type":["string","null"]},"phone":{"type":["string","null"]},"linkedInUserName":{"type":["string","null"]},"portfolioUrl":{"type":["string","null"]}},"required":["id","firstName","lastName","email","phone","linkedInUserName","portfolioUrl"],"title":"CandidateVouchCandidate"},"CandidateVouch":{"type":"object","properties":{"id":{"type":"string"},"stage":{"$ref":"#/components/schemas/CandidateVouchStage"},"customStage":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"startedNewJobAt":{"type":["string","null"],"format":"date-time"},"candidate":{"$ref":"#/components/schemas/CandidateVouchCandidate"}},"required":["id","stage","customStage","createdAt","updatedAt","startedNewJobAt","candidate"],"title":"CandidateVouch"},"Candidates_listPositionCandidates_Response_200":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CandidateVouch"}},"nextCursor":{"type":["string","null"]}},"required":["data","nextCursor"],"title":"Candidates_listPositionCandidates_Response_200"},"PositionPerformanceLatest":{"type":"object","properties":{"acceptedByCandidateAt":{"type":["string","null"],"format":"date-time"},"lastContactedByCompany":{"type":["string","null"],"format":"date-time"},"lastContactedByCandidate":{"type":["string","null"],"format":"date-time"}},"required":["acceptedByCandidateAt","lastContactedByCompany","lastContactedByCandidate"],"title":"PositionPerformanceLatest"},"PositionPerformanceVouches":{"type":"object","properties":{"total":{"type":"number","format":"double"},"viewableForCompany":{"type":"number","format":"double"},"active":{"type":"number","format":"double"},"new":{"type":"number","format":"double"},"prescreening":{"type":"number","format":"double"}},"required":["total","viewableForCompany","active","new","prescreening"],"title":"PositionPerformanceVouches"},"PositionPerformanceCandidates":{"type":"object","properties":{"total":{"type":"number","format":"double"},"viewableForCompany":{"type":"number","format":"double"},"new":{"type":"number","format":"double"},"active":{"type":"number","format":"double"},"hires":{"type":"number","format":"double"}},"required":["total","viewableForCompany","new","active","hires"],"title":"PositionPerformanceCandidates"},"PositionPerformance":{"type":"object","properties":{"latest":{"oneOf":[{"$ref":"#/components/schemas/PositionPerformanceLatest"},{"type":"null"}]},"vouches":{"$ref":"#/components/schemas/PositionPerformanceVouches"},"candidates":{"$ref":"#/components/schemas/PositionPerformanceCandidates"}},"required":["latest","vouches","candidates"],"title":"PositionPerformance"},"Candidates_getPositionPerformance_Response_200":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PositionPerformance"}},"required":["data"],"title":"Candidates_getPositionPerformance_Response_200"},"CareerPageCompany":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"logoUrl":{"type":["string","null"]}},"required":["id","name","slug","logoUrl"],"title":"CareerPageCompany"},"CareerPage":{"type":"object","properties":{"id":{"type":"string","description":"The referral link ID backing this careers page — the `{id}` for the /career-pages/{id}/... endpoints."},"name":{"type":"string"},"isDefault":{"type":"boolean","description":"True if this is its company's default careers page."},"isMarketplace":{"type":"boolean","description":"True if this is the Vouch marketplace (vouch.careers) rather than a company careers page — modelled the same way, with the same URL shape."},"forAgency":{"type":"boolean","description":"True if this careers page belongs to the API key's own company (for an agency: its overarching page across all its clients)."},"forClient":{"type":"boolean","description":"True if this careers page belongs to one of the API key's company's clients."},"url":{"type":"string","description":"Public careers page URL, listing every active position on it."},"company":{"$ref":"#/components/schemas/CareerPageCompany"}},"required":["id","name","isDefault","isMarketplace","forAgency","forClient","url","company"],"title":"CareerPage"},"Career pages_listCareerPages_Response_200":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CareerPage"}},"nextCursor":{"type":["string","null"]}},"required":["data","nextCursor"],"title":"Career pages_listCareerPages_Response_200"},"Career pages_listCareerPagePositions_Response_200":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Position"}},"nextCursor":{"type":["string","null"]}},"required":["data","nextCursor"],"title":"Career pages_listCareerPagePositions_Response_200"},"CareerPagePositionStatus":{"type":"string","enum":["DRAFT","PUBLISHED","ACTIVE","PAUSED","ARCHIVED"],"description":"Publish lifecycle status — derived automatically from publish/pause/archive actions and whether the position currently has any live, reachable link (an active sharing link or careers page listing), never set directly. 'DRAFT': never published. 'PUBLISHED': published and currently reachable via at least one active link. 'ACTIVE': published and not paused, but not currently reachable via any active link right now (e.g. every link on it is temporarily inactive). 'PAUSED': published and explicitly paused, not currently reachable. 'ARCHIVED': closed (archived or deleted).","title":"CareerPagePositionStatus"},"CareerPagePositionLanguage":{"type":"string","enum":["NO","DK","EN","SE","GB"],"title":"CareerPagePositionLanguage"},"CareerPagePositionEmploymentTypeItems":{"type":"string","enum":["Full-time","Part-time","On-site","Temporary","Internship","Volunteer","Contract","Remote","Hybrid"],"title":"CareerPagePositionEmploymentTypeItems"},"CareerPagePositionSalaryCurrency":{"type":"string","enum":["NOK","SEK","DKK","EUR","GBP","USD","CAD","AUD"],"title":"CareerPagePositionSalaryCurrency"},"CareerPagePositionSalary":{"type":"object","properties":{"type":{"type":["string","null"]},"currency":{"oneOf":[{"$ref":"#/components/schemas/CareerPagePositionSalaryCurrency"},{"type":"null"}]},"minSalary":{"type":["number","null"],"format":"double"},"maxSalary":{"type":["number","null"],"format":"double"},"extra":{"type":["string","null"]}},"required":["type","currency","minSalary","maxSalary","extra"],"title":"CareerPagePositionSalary"},"CareerPagePosition":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"pitch":{"type":["string","null"],"description":"One-paragraph pitch/summary for the position — also woven into the opening of contentHtml (on the detail endpoint), not just this field."},"status":{"$ref":"#/components/schemas/CareerPagePositionStatus","description":"Publish lifecycle status — derived automatically from publish/pause/archive actions and whether the position currently has any live, reachable link (an active sharing link or careers page listing), never set directly. 'DRAFT': never published. 'PUBLISHED': published and currently reachable via at least one active link. 'ACTIVE': published and not paused, but not currently reachable via any active link right now (e.g. every link on it is temporarily inactive). 'PAUSED': published and explicitly paused, not currently reachable. 'ARCHIVED': closed (archived or deleted)."},"language":{"$ref":"#/components/schemas/CareerPagePositionLanguage"},"employmentType":{"type":"array","items":{"$ref":"#/components/schemas/CareerPagePositionEmploymentTypeItems"},"description":"Employment type tags for this position (e.g. Full-time, Remote, Internship)."},"listingColor":{"type":["string","null"]},"bannerUrl":{"type":["string","null"]},"locations":{"type":"array","items":{"$ref":"#/components/schemas/Location"}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"publishedAt":{"type":["string","null"],"format":"date-time"},"lastPublishedAt":{"type":["string","null"],"format":"date-time"},"firstActivatedAt":{"type":["string","null"],"format":"date-time"},"expirationDate":{"type":["string","null"],"format":"date-time"},"enableApplication":{"type":"boolean"},"enableVouch":{"type":"boolean"},"company":{"$ref":"#/components/schemas/Company"},"highlights":{"type":["array","null"],"items":{"type":"string"}},"salary":{"oneOf":[{"$ref":"#/components/schemas/CareerPagePositionSalary"},{"type":"null"}]},"contentHtml":{"type":"string","description":"The position's text-only description as HTML (job-board tag subset). This is what job boards receive: a manually edited text when the position has one, otherwise the text derived from its sections."},"contentHtmlDefault":{"type":"string","description":"The text derived from the position's sections, regardless of any manual edit."},"contentHtmlOverride":{"type":["string","null"],"description":"The manually edited text, or null when contentHtml is the derived default."},"images":{"type":"array","items":{"type":"array","items":{"type":"string"}},"description":"This position's image gallery sections — contentHtml doesn't include these (a photo gallery has no inline-HTML equivalent), so they're surfaced separately here. One array per image gallery section (in section order), each holding that section's image URLs (in image order), fully resolved and ready to use directly."},"careerPageId":{"type":"string","description":"The careers page (its referral link ID) this position was fetched through."},"idForEmbedded":{"type":"string","description":"`<careerPageId>.<positionId>` — the value to use for the embedded widget for this position via this careers page. See the Embedded Widget guide."},"jobUrl":{"type":"string","description":"Public job position page on this careers page."},"applyUrl":{"type":"string","description":"Direct link to the application form via this careers page."},"vouchUrl":{"type":"string","description":"Direct link to the referral (vouch) form via this careers page."}},"required":["id","title","pitch","status","language","employmentType","listingColor","bannerUrl","locations","createdAt","updatedAt","publishedAt","lastPublishedAt","firstActivatedAt","expirationDate","enableApplication","enableVouch","company","highlights","salary","contentHtml","contentHtmlDefault","contentHtmlOverride","images","careerPageId","idForEmbedded","jobUrl","applyUrl","vouchUrl"],"description":"A position via one careers page. enableApplication/enableVouch reflect any per-careers-page override for this position, so they can differ from GET /positions/{id}.","title":"CareerPagePosition"},"Career pages_getCareerPagePosition_Response_200":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CareerPagePosition"}},"required":["data"],"title":"Career pages_getCareerPagePosition_Response_200"},"PositionCreatedPayloadStatus":{"type":"string","enum":["DRAFT","PUBLISHED","ACTIVE","PAUSED","ARCHIVED"],"title":"PositionCreatedPayloadStatus"},"PositionCreatedPayload":{"type":"object","properties":{"type":{"type":"string","enum":["POSITION_CREATED"]},"id":{"type":"string"},"title":{"type":"string"},"status":{"oneOf":[{"$ref":"#/components/schemas/PositionCreatedPayloadStatus"},{"type":"null"}]},"updatedAt":{"type":"string","format":"date-time"}},"required":["type","id","title","status","updatedAt"],"title":"PositionCreatedPayload"},"PositionUpdatedPayloadStatus":{"type":"string","enum":["DRAFT","PUBLISHED","ACTIVE","PAUSED","ARCHIVED"],"title":"PositionUpdatedPayloadStatus"},"PositionUpdatedPayload":{"type":"object","properties":{"type":{"type":"string","enum":["POSITION_UPDATED"]},"id":{"type":"string"},"title":{"type":"string"},"status":{"oneOf":[{"$ref":"#/components/schemas/PositionUpdatedPayloadStatus"},{"type":"null"}]},"updatedAt":{"type":"string","format":"date-time"}},"required":["type","id","title","status","updatedAt"],"title":"PositionUpdatedPayload"},"CandidateAddedPayloadStage":{"type":"string","enum":["PRESCREENING","REFERRAL_CREATED","READY_FOR_REVIEW","ACCEPTED_BY_COMPANY","CONTACTED_BY_COMPANY","OFFER_MADE","HIRED","REJECTED","OUT_OF_PROCESS"],"title":"CandidateAddedPayloadStage"},"CandidateAddedPayloadCandidate":{"type":"object","properties":{"id":{"type":["string","null"]},"firstName":{"type":["string","null"]},"lastName":{"type":["string","null"]},"email":{"type":["string","null"]},"phone":{"type":["string","null"]},"resumeUrl":{"type":["string","null"]},"linkedInUserName":{"type":["string","null"]},"portfolioUrl":{"type":["string","null"]}},"required":["id","firstName","lastName","email","phone","resumeUrl","linkedInUserName","portfolioUrl"],"title":"CandidateAddedPayloadCandidate"},"CandidateAddedPayloadJob":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"}},"required":["id","title"],"title":"CandidateAddedPayloadJob"},"CandidateAddedPayload":{"type":"object","properties":{"type":{"type":"string","enum":["CANDIDATE_ADDED"]},"id":{"type":"string"},"stage":{"$ref":"#/components/schemas/CandidateAddedPayloadStage"},"customStage":{"type":["string","null"]},"candidate":{"$ref":"#/components/schemas/CandidateAddedPayloadCandidate"},"job":{"$ref":"#/components/schemas/CandidateAddedPayloadJob"}},"required":["type","id","stage","customStage","candidate","job"],"title":"CandidateAddedPayload"},"CandidateStageUpdatedPayloadStage":{"type":"string","enum":["PRESCREENING","REFERRAL_CREATED","READY_FOR_REVIEW","ACCEPTED_BY_COMPANY","CONTACTED_BY_COMPANY","OFFER_MADE","HIRED","REJECTED","OUT_OF_PROCESS"],"title":"CandidateStageUpdatedPayloadStage"},"CandidateStageUpdatedPayloadCandidate":{"type":"object","properties":{"id":{"type":["string","null"]},"firstName":{"type":["string","null"]},"lastName":{"type":["string","null"]},"email":{"type":["string","null"]},"phone":{"type":["string","null"]},"resumeUrl":{"type":["string","null"]},"linkedInUserName":{"type":["string","null"]},"portfolioUrl":{"type":["string","null"]}},"required":["id","firstName","lastName","email","phone","resumeUrl","linkedInUserName","portfolioUrl"],"title":"CandidateStageUpdatedPayloadCandidate"},"CandidateStageUpdatedPayloadJob":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"}},"required":["id","title"],"title":"CandidateStageUpdatedPayloadJob"},"CandidateStageUpdatedPayload":{"type":"object","properties":{"type":{"type":"string","enum":["CANDIDATE_STAGE_UPDATED"]},"id":{"type":"string"},"stage":{"$ref":"#/components/schemas/CandidateStageUpdatedPayloadStage"},"customStage":{"type":["string","null"]},"candidate":{"$ref":"#/components/schemas/CandidateStageUpdatedPayloadCandidate"},"job":{"$ref":"#/components/schemas/CandidateStageUpdatedPayloadJob"}},"required":["type","id","stage","customStage","candidate","job"],"title":"CandidateStageUpdatedPayload"},"CandidateHiredPayloadCandidate":{"type":"object","properties":{"id":{"type":["string","null"]},"firstName":{"type":["string","null"]},"lastName":{"type":["string","null"]},"email":{"type":["string","null"]},"phone":{"type":["string","null"]},"resumeUrl":{"type":["string","null"]},"linkedInUserName":{"type":["string","null"]},"portfolioUrl":{"type":["string","null"]}},"required":["id","firstName","lastName","email","phone","resumeUrl","linkedInUserName","portfolioUrl"],"title":"CandidateHiredPayloadCandidate"},"CandidateHiredPayloadJobSalaryCurrency":{"type":"string","enum":["NOK","SEK","DKK","EUR","GBP","USD","CAD","AUD"],"title":"CandidateHiredPayloadJobSalaryCurrency"},"CandidateHiredPayloadJobSalary":{"type":"object","properties":{"type":{"type":["string","null"]},"currency":{"oneOf":[{"$ref":"#/components/schemas/CandidateHiredPayloadJobSalaryCurrency"},{"type":"null"}]},"minSalary":{"type":["number","null"],"format":"double"},"maxSalary":{"type":["number","null"],"format":"double"},"extra":{"type":["string","null"]}},"required":["type","currency","minSalary","maxSalary","extra"],"title":"CandidateHiredPayloadJobSalary"},"CandidateHiredPayloadJobEmploymentTypeItems":{"type":"string","enum":["Full-time","Part-time","On-site","Temporary","Internship","Volunteer","Contract","Remote","Hybrid"],"title":"CandidateHiredPayloadJobEmploymentTypeItems"},"CandidateHiredPayloadJob":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"salary":{"oneOf":[{"$ref":"#/components/schemas/CandidateHiredPayloadJobSalary"},{"type":"null"}]},"employmentType":{"type":"array","items":{"$ref":"#/components/schemas/CandidateHiredPayloadJobEmploymentTypeItems"}}},"required":["id","title","salary","employmentType"],"title":"CandidateHiredPayloadJob"},"CandidateHiredPayload":{"type":"object","properties":{"type":{"type":"string","enum":["CANDIDATE_HIRED"]},"id":{"type":"string"},"startDate":{"type":["string","null"],"format":"date-time"},"candidate":{"$ref":"#/components/schemas/CandidateHiredPayloadCandidate"},"job":{"$ref":"#/components/schemas/CandidateHiredPayloadJob"}},"required":["type","id","startDate","candidate","job"],"title":"CandidateHiredPayload"}},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API key created in company settings, sent as `Authorization: Bearer <key>`."}}}}