Salaries namespace
Reference for salary data by title, skill, and location.
A
JProgrammatic salary directory and detail data. Use the formatting and SEO helper packages for presentation.
Salary pages are public. Pass { locale: context.language } to overlay board-language names and canonical slugs; omitting it uses the English identity path.
Company salary index
Returns companies ranked for the /salaries/companies hub.
Company-specific salary detail methods live under board.companies.salaries because they share the public company namespace.
Title methods
Skill methods
Location methods
SalaryLocation rows form a flattened hierarchy through parentSlug; rebuild country, region, and city navigation from those edges.
Canonical slug handling
Detail responses carry source and canonical slug fields. The API returns data rather than performing a redirect. When the inbound slug differs from the response’s canonical slug, issue a permanent redirect from the frontend route.
Cross-axis detail responses include canonical source/entity/place slugs appropriate to both axes. Build paths with @cavuno/board/paths instead of concatenating translated names.
Presentation and errors
Use the salary builders in @cavuno/board/seo for Occupation, distribution, list, and FAQ structured data. Use @cavuno/board/format for board-language money ranges. Per-seniority distribution names are application-owned — pass seniorityName({ seniority, entity }) that returns the finished string in board-language order (do not rely on the SDK to join seniority + title).
Missing data throws the axis-specific 404 code: salaries_title_not_found, salaries_skill_not_found, salaries_location_not_found, salaries_title_location_not_found, or salaries_skill_location_not_found. Render a true 404 or a related salary index—do not turn missing salary evidence into zero pay.