Error codes

Every error is JSON with a stable code and a message you can show. The shapes are on the conventions page; this page lists every code, what it means and which calls give it. A refused call costs no credits.

Rate and credit limits answer 429 with Retry-After; limit names which limit was reached.

400

401

CodeWhat it meansFrom
credential_invalidUnknown, revoked or rotated API keyany call, keys and projects
key_requireda bulk job (/v1/jobs) without a secret key; a publishable key gets 403 scope_deniedany call
unauthorizedNo token or key, or an expired JWT. The console refreshes the session once, then asks the user to sign inkeys and projects

403

CodeWhat it meansFrom
origin_not_alloweda publishable key (ts_pub_) from an origin outside its allowlist, or without an originany call
scope_deniedAn API key used on an owner endpoint (keys cannot manage projects)keys and projects, downloads

404

CodeWhat it meansFrom
not_foundUnknown project or key, or one owned by someone elsekeys and projects, downloads

405

409

CodeWhat it meansFrom
capability_unavailablebike while the served routing tiles carry no verified one-ways or turn restrictions (as the Planner's loops)Round trips from a start point
key_limitPlan limit reached; limit names itkeys and projects
project_closedWriting to a closed projectkeys and projects
project_limitPlan limit reached; limit names itkeys and projects

413

422

CodeWhat it meansFrom
bad_straight_legA straight leg the router cannot drawRoute through waypoints
beyond_forecastMore than six hours ago, or more than 16 days aheadWeather along a route at arrival time, Route card to print, Go windows: which day and start time, Route brief
budget_exhaustedThe job's 25 s / 12 M-node budget ran out (the job is receipted budget:*)Analyse a route you already have, Weather along a route at arrival time, Elevation profile of a line, Exits along a route, Route card to print, Slope at the path (experimental), Places along a route, Pace plan for a course, Route through waypoints
budget_too_smallmax_points below the ends of every segment and every stopClean a GPX file, Simplify a GPX file or line
corridor_too_largeA window's corridor is too dense to load; send the line in piecesAnalyse a route you already have, Round trips from a start point, Exits along a route, Route card to print, Route through waypoints
departure_in_pastMore than six hours ago, or more than 16 days aheadWeather along a route at arrival time, Route card to print, Go windows: which day and start time, Route brief
disconnectedNo path joins two waypoints under the settings, or none within the area searched; the message names the leg, and the error carries cap_alternative when a harder grade would join themRoute through waypoints
invalid_coordinatesSimplify: GPX points whose coordinates cannot be read (clean first)Clean a GPX file, Simplify a GPX file or line
leg_too_longA leg over 60 km in a straight line: add waypointsRoute through waypoints
legs_mismatchleg_seconds does not have one value per legRoute card to print
no_lineNo part of two or more pointsAnalyse a route you already have, Weather along a route at arrival time, Elevation profile of a line, Clean a GPX file, Exits along a route, Route card to print, Go windows: which day and start time, Slope at the path (experimental), Route brief, Places along a route, Pace plan for a course, Simplify a GPX file or line
no_loopNo loop: the start is not near a path the settings may use, or none was found. The body also carries status: none, reason, request and searchRound trips from a start point
no_path_in_corridorNo path joins two waypoints under the settings, or none within the area searched; the message names the leg, and the error carries cap_alternative when a harder grade would join themRoute through waypoints
no_path_under_settingsNo path joins two waypoints under the settings, or none within the area searched; the message names the leg, and the error carries cap_alternative when a harder grade would join themRoute through waypoints
output_too_largeThe answer would exceed 5 MB (never truncated)Analyse a route you already have
several_partsMore than one part (track segment, line)Weather along a route at arrival time, Exits along a route, Route card to print, Go windows: which day and start time, Route brief, Pace plan for a course
snap_failedA waypoint is farther than the snap radius from any path the settings allowRoute through waypoints
too_largeThe line would read more than 120 terrain tiles (a guard; a 120 km line reads a few dozen)Slope at the path (experimental)
too_longMore than 300 kmAnalyse a route you already have, Round trips from a start point, Weather along a route at arrival time, Elevation profile of a line, Exits along a route, Route card to print, Go windows: which day and start time, Slope at the path (experimental), Route brief, Places along a route, Pace plan for a course
too_shortUnder 0.2 kmPace plan for a course

429

CodeWhat it meansFrom
bbox_daily_ceilinglimit: "bbox_daily"a keyed project past its daily bbox calls (/pois/v1/bbox, /trails/v1/bbox, /trails/v1/restrictions): three times its plan's daily average credits (Free 3,000, Starter 15,000, Pro 60,000, Business 250,000). Retry-After until 00:00 UTCany call
concurrency_limitlimit: "concurrency"a heavy request (round trips, route analysis, route weather, route brief, route exits, route card) while the project (or the address, without a key) already has its limit running. Retry-After: 2any call
download_caplimit: "monthly_bytes"the bytes would pass the plan's monthly capdownloads
keyless_daily_credits_exhaustedlimit: "keyless_daily"a call without a key past 500 credits today from its addressany call
monthly_credits_exhaustedAllowance used up; Retry-After = seconds to period.endany call, keys and projects, downloads
rate_limitlimit: "burst", "publishable_visitor", "operation"Too many requests per second; limit says which: burst (your key), ip (your address without a key), publishable_visitor (one visitor on a browser key) or operation (a per-operation limit). Wait Retry-After.any call, keys and projects

502

CodeWhat it meansFrom
forecast_failedThe forecast answered in error or in an unexpected shapeWeather along a route at arrival time

503

CodeWhat it meansFrom
accounting_unavailableA key was sent but the API cannot check keys just now; calls without a key go on. Retry after Retry-After.any call, keys and projects
forecast_unavailableThe forecast has nothing current; Retry-AfterWeather along a route at arrival time, Go windows: which day and start time
overloadedThe worker's heavy-job queue is full; Retry-After: 5Analyse a route you already have, Round trips from a start point, Weather along a route at arrival time, Clean a GPX file, Exits along a route, Route card to print, Route brief, Route through waypoints, Simplify a GPX file or line
places_unavailableThe places index did not answer; retryPlaces along a route
terrain_unavailableThe terrain model did not answer, and the line carries too few heights of its own; try againElevation profile of a line
tiles_unavailableRouting tiles could not be readAnalyse a route you already have, Round trips from a start point, Exits along a route, Route card to print