/v1/career/transitions/{soc_code}Find realistic career transitions from a given occupation (skill-overlap ranked)
Return occupations that are most similar to a given source occupation based on shared O*NET skills, knowledge, and abilities. Results are ranked by similarity score descending and each row carries the number of shared skills plus the expected wage change when switching roles. **When to use:** answer 'what jobs can a nurse realistically move into?' or power a 'people who left this job moved to...' widget. Adjust `min_similarity` to control how closely related results must be — 0.3 is a reasonable default, 0.5+ returns only very close matches. **Inputs:** - `soc_code` — the source occupation SOC code (path parameter). - `limit` (1-50) — how many transitions to return. - `min_similarity` (0.0-1.0) — minimum skill overlap score. **Response shape:** `ApiResponse[list[CareerTransitionSchema]]` with `from_soc`, `from_title`, `to_soc`, `to_title`, `similarity_score`, `shared_skills_count`, and optional `wage_change_pct`. Source: O*NET OnLine (USDOL/ETA). Required scope: `skills:read`.
Authentication
Requires API key via X-API-Key header.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| soc_code | path | string | required | |
| limit | query | integer | optional | Maximum number of transitions to return |
| min_similarity | query | number | optional | Minimum similarity score threshold |
Example request
curl -X GET \
"https://skills.wageapi.com/api/v1/career/transitions/%3Csoc_code%3E?limit=20&min_similarity=0.3" \
-H "X-API-Key: YOUR_API_KEY"Responses
dataarray<CareerTransitionSchema>requiredfrom_socstringrequiredSource occupation SOC code
from_titlestringrequiredSource occupation title
to_socstringrequiredTarget occupation SOC code
to_titlestringrequiredTarget occupation title
similarity_scorenumberrequiredSkill-based similarity (0.0-1.0)
min 0 · max 1
shared_skills_countintegerrequiredNumber of skills shared between occupations
wage_change_pctanyoptionalMedian wage change percentage
metadataMetadataSchemarequiredsourcesarray<SourceSchema>optionalnamestringrequiredData source name (e.g. O*NET, BLS OES)
urlanyoptionalURL to the source
request_idstringrequiredUnique request identifier
rate_limitanyoptionallimitintegerrequiredMaximum requests per day for current tier
remainingintegerrequiredRequests remaining today
resetstringrequiredUTC timestamp when limit resets
errorErrorDetailrequiredStructured error payload returned by all Aethar APIs. Mirrors the shape produced by aethar_auth.exception_handlers so the OpenAPI spec accurately describes real error bodies for documentation readers and MCP clients.
codestringrequiredMachine-readable error code (e.g. INVALID_API_KEY)
messagestringrequiredHuman-readable error message
statusanyoptionalHTTP status code
request_idanyoptionalRequest identifier — include in support tickets
suggestionanyoptionalActionable hint on how to resolve the error
doc_urlanyoptionalLink to full documentation for this error code
fieldanyoptionalField that caused the error (if applicable)
errorsanyoptionalPer-field validation errors (only for 422 VALIDATION_ERROR responses)
errorErrorDetailrequiredStructured error payload returned by all Aethar APIs. Mirrors the shape produced by aethar_auth.exception_handlers so the OpenAPI spec accurately describes real error bodies for documentation readers and MCP clients.
codestringrequiredMachine-readable error code (e.g. INVALID_API_KEY)
messagestringrequiredHuman-readable error message
statusanyoptionalHTTP status code
request_idanyoptionalRequest identifier — include in support tickets
suggestionanyoptionalActionable hint on how to resolve the error
doc_urlanyoptionalLink to full documentation for this error code
fieldanyoptionalField that caused the error (if applicable)
errorsanyoptionalPer-field validation errors (only for 422 VALIDATION_ERROR responses)
errorErrorDetailrequiredStructured error payload returned by all Aethar APIs. Mirrors the shape produced by aethar_auth.exception_handlers so the OpenAPI spec accurately describes real error bodies for documentation readers and MCP clients.
codestringrequiredMachine-readable error code (e.g. INVALID_API_KEY)
messagestringrequiredHuman-readable error message
statusanyoptionalHTTP status code
request_idanyoptionalRequest identifier — include in support tickets
suggestionanyoptionalActionable hint on how to resolve the error
doc_urlanyoptionalLink to full documentation for this error code
fieldanyoptionalField that caused the error (if applicable)
errorsanyoptionalPer-field validation errors (only for 422 VALIDATION_ERROR responses)
errorErrorDetailrequiredStructured error payload returned by all Aethar APIs. Mirrors the shape produced by aethar_auth.exception_handlers so the OpenAPI spec accurately describes real error bodies for documentation readers and MCP clients.
codestringrequiredMachine-readable error code (e.g. INVALID_API_KEY)
messagestringrequiredHuman-readable error message
statusanyoptionalHTTP status code
request_idanyoptionalRequest identifier — include in support tickets
suggestionanyoptionalActionable hint on how to resolve the error
doc_urlanyoptionalLink to full documentation for this error code
fieldanyoptionalField that caused the error (if applicable)
errorsanyoptionalPer-field validation errors (only for 422 VALIDATION_ERROR responses)
errorErrorDetailrequiredStructured error payload returned by all Aethar APIs. Mirrors the shape produced by aethar_auth.exception_handlers so the OpenAPI spec accurately describes real error bodies for documentation readers and MCP clients.
codestringrequiredMachine-readable error code (e.g. INVALID_API_KEY)
messagestringrequiredHuman-readable error message
statusanyoptionalHTTP status code
request_idanyoptionalRequest identifier — include in support tickets
suggestionanyoptionalActionable hint on how to resolve the error
doc_urlanyoptionalLink to full documentation for this error code
fieldanyoptionalField that caused the error (if applicable)
errorsanyoptionalPer-field validation errors (only for 422 VALIDATION_ERROR responses)
errorErrorDetailrequiredStructured error payload returned by all Aethar APIs. Mirrors the shape produced by aethar_auth.exception_handlers so the OpenAPI spec accurately describes real error bodies for documentation readers and MCP clients.
codestringrequiredMachine-readable error code (e.g. INVALID_API_KEY)
messagestringrequiredHuman-readable error message
statusanyoptionalHTTP status code
request_idanyoptionalRequest identifier — include in support tickets
suggestionanyoptionalActionable hint on how to resolve the error
doc_urlanyoptionalLink to full documentation for this error code
fieldanyoptionalField that caused the error (if applicable)
errorsanyoptionalPer-field validation errors (only for 422 VALIDATION_ERROR responses)
Try this endpoint
Create a free Aethar account and generate an API key in 2 minutes.
Create free account →