Skip to content
DezfilDocsv0.1.0

API and agentsAPI reference

Errors

Every error code the API answers with, and what it means.

A refused request answers with an Error body whose code is one of these 144 and whose message says what happened. Each operation's responses name the statuses it answers with; the status here is given where the description fixes one for the code.

CodeMessageStatus
picture_upload_retiredBrowser picture uploads are retired. Request a server picture with POST /api/maps/{id}/picture/refresh.
setting_lockedAn environment variable locks a submitted setting. No settings changed; change or remove the named variable and restart before editing this setting.
project_owner_cannot_leaveThe project's owner cannot leave. Transfer or delete the project instead.
method_not_allowedThis method is not allowed for this path.
authentication_requiredSign in with a valid session or account token to continue.
invalid_credentialsEmail or password is incorrect.
account_deactivatedThis account is deactivated. Contact an admin.
setup_completeThis instance already has an account. First-account creation is unavailable.
weak_passwordUse at least eight characters and avoid very common passwords.
email_takenAn account already uses this normalized email address.
self_change_refusedAnother admin must change your admin flag, deactivate your account or delete it.
account_not_deactivatedDeactivate this account before deleting it.
deletion_in_progressThis account is being deleted and cannot be reactivated.
deletion_unreadableThis deletion record cannot be read. Its files remain unchanged. Restore a readable record before continuing this deletion.
deletion_changedThis account or its work has changed. Review a fresh deletion preview before confirming.
last_adminKeep at least one active admin.
forbiddenThis request is not permitted for the current account or origin: an admin-only request, a cookie request from another origin, or a change to something the account can view but cannot make. A refused change has no effect.
token_expiredThe API token has passed the expiry it was created with and no longer works. Create a new token; the expired one stays listed until it is revoked.
rule_refusedAn instance rule an admin sets refuses this action for the current account: creating an API token, publishing a map or changing a live publication, adding a database connection or pointing one at another host, port or database, or importing from a link. The refusal's rule field names the rule as PATCH /api/instance/settings takes it. Nothing changed, and what already exists keeps working.
current_password_requiredEnter your current password to make this change.
authentication_busyAuthentication is busy. Try again shortly.
ingress_unavailableTrusted socket provenance is unavailable. Authentication entry and published reads cannot proceed.
geometry_not_supportedSet geometry is available only for file uploads and URL imports.
geometry_choice_invalidThe geometry choice cannot be applied. The message explains the projection, source or validator issue.
geometry_in_flightA geometry edit or refresh is already running for this dataset or URL import group.
unsupported_formatThe uploaded file type is not one of the supported formats.
unsupported_imageThe picture is not a still JPEG, PNG or WebP image: another kind, an animated image, or one that is damaged or incomplete. Nothing changed.
image_too_largeThe picture has more pixels than the fixed limit of 64 million, read from its header before any pixel is decoded. Nothing changed.
upload_too_largeThe upload exceeds its size cap: the configured upload cap, or a picture's fixed 10 MB.
archive_too_largeThe archive's unpacked content exceeds the configured upload size cap.
remote_fetch_failedThe remote file could not be fetched (unreachable, denied, or missing).
remote_fetch_abandonedThe outbound request was abandoned before it finished, because whoever asked for it stopped waiting.
remote_too_largeThe remote file exceeds the configured remote size cap.
remote_timeoutThe remote fetch exceeded the configured remote time bound.
egress_blockedThe destination address is blocked by the egress policy (loopback, private, link-local, or metadata space); the configured allowlist admits exceptions.
imagery_unavailableThe satellite imagery did not answer a tile the instance relays with one: it could not be reached, its address is refused by the egress policy, it answered an error, too slowly, past the size bound or with something other than a raster image, or its tile address carries a user name or password and is not drawn. The message says which, never the tile address or its key.
area_too_largeThe selected area exceeds the import budget for the chosen theme.
name_takenA table of that name already exists. Operations never replace or rename around an existing table. Choose another name.
not_refreshableThe table has no re-runnable remote source, so it cannot be refreshed.
dependencies_unresolvedA layer's statement could not be analyzed, so the map's datasets cannot be listed completely. Fix the layer's SQL and try again.
export_failedThe project archive could not be assembled; nothing was delivered. Retry, and check the server's disk space if it recurs.
refresh_in_flightA refresh of this table (or its OSM import group) is already running; retry when it completes.
connection_failedThe database connection failed (unreachable, authentication, or missing extension).
connection_password_requiredEnter the password again when changing the host or port, or turning SSL off.
malformed_fileThe file could not be parsed as its declared format.
request_body_too_largeThe request body exceeds its documented byte limit.
mcp_read_failedThe read could not be completed because its response could not be received.
mcp_transport_failedThe operation's response could not be received. Its outcome is unknown.
mcp_response_invalidThe instance returned a response that does not match this operation's documented result.
stale_revisionThis item has changed. Reload it before trying again.
invalid_requestThe request was malformed or failed validation, including a missing or malformed required edit revision. Read the item before a covered write.
not_foundThe requested resource was not found.
sql_rejectedThe SQL was not an accepted read-only query.
sql_errorThe SQL failed to parse or execute.
query_timeoutThe query exceeded the configured timeout.
engine_memory_exceededTrusted data work exceeded its shared memory or scratch budget. Reduce the work, or raise DEZFIL_TRUSTED_MEMORY_MB and restart.422
data_processing_timeoutData processing exceeded its admitted time limit. An admin can change Data processing time limit for new work; a picture's limits are fixed.408
request_timeoutThe request body was not received within 300 s.408
upload_stalledThe upload sent no body bytes for 60 seconds. Retry the upload.408
render_bytes_exceededThe features to draw exceed the configured byte limit.422
query_memory_exceededThe query exceeded the configured engine memory budget for user SQL.
query_result_too_largeThe result is too large to return: more than 32 MB in total, or one non-geometry value over 2 MB. Select fewer rows or columns, or shorten the value.
tile_build_timeoutA tile-build stage exceeded the configured tile-build timeout.
render_cap_exceededThe layer's result exceeds the inline render cap; tiled rendering is unavailable for this geometry or configuration.
tiler_unavailableThe result is too large for inline rendering and no tile builder is installed on this instance.
tile_build_failedThe layer's tile archive could not be built.
render_unavailableThe image renderer's browser is not available on this instance, so image export cannot run.
render_timeoutThe image render exceeded the configured export render budget (queue wait included).
render_failedThe image could not be rendered. Retry; if it persists, the instance's renderer needs attention.
look_target_missingNo map was named for the check and none is in context, so there is nothing to render.
look_image_too_largeNo image of the map fits inside the check's byte bound at any documented size, so none was returned.
look_image_unavailableThe image of this check is no longer kept on this instance: it was evicted under the retention bounds or did not survive a restart. It is never rendered again.
attachment_too_largeThe tool attachment exceeds the configured cap; narrow the export or raise the cap.
operation_timeoutThe operation exceeded the configured execution budget for a run. Time spent waiting for the lane is not counted against it.
operation_queue_fullToo many operations are already queued; the run was refused rather than accepted into a queue that would not drain. Retry once some complete.
run_in_flightThis workflow already has a run in flight; a workflow runs one at a time. Wait for it, or cancel it, then run again.
plan_changedThe workflow changed since the run was confirmed, so the nodes it would run are not the ones confirmed. Nothing started; look at the plan again.
operation_interruptedThe server stopped while this run was in the lane, so it did not finish. Nothing partial was kept; run it again.
input_changedAn input was replaced while the run was waiting, so the answers it had prepared belong to data that is no longer there. Nothing was written; run it again against the current data.
geocoder_unconfiguredNo geocoding endpoint is configured on this instance (the Address finder an admin sets, or DEZFIL_GEOCODER_URL), so an operation that asks a provider for addresses cannot run. The message says which one to change now.
geocoder_failedThe configured geocoding endpoint did not answer, twice in a row. The run published nothing rather than recording an absent answer as an address that does not exist.
isochrone_unconfiguredNo routing endpoint is configured on this instance (the travel-time endpoint an admin sets, or DEZFIL_ISOCHRONE_URL), so an operation that asks a provider for travel-time areas cannot run. The message says which one to change now.
isochrone_failedThe configured routing endpoint did not answer, twice in a row. The run published nothing rather than recording an absent answer as an unreachable origin.
service_address_unreadableA service address, or the satellite imagery's tile template, an admin saved in Settings cannot be read with this instance's encryption key, which changed after it was saved. The service, or the imagery style, refuses rather than reach a default; an admin saves the address again.
basemap_not_offeredThe basemap a map write or an undo or redo would put a map on is one this instance does not offer now: a style an admin hid, or, while style addresses on single maps are off, a style address the basemap library does not offer. It cannot be chosen anew. The refusal's setting field names the switch, as PATCH /api/instance/settings takes it. Nothing changed; a map already on that basemap keeps it, and Auto is always offered.
measurement_crs_unavailableThe data is too wide to measure a distance over in ground metres: in a projection centred on it, a distance at its widest point would be off by more than 1 %, or it crosses the antimeridian. The message names its width and extent. Split it by region and measure each part; an area over the same data succeeds and records the global projection it used.
operation_supersededThe step this run belonged to was changed or removed while it was working, so the run lost its authority to publish and wrote nothing. What it would have produced is no longer what the step means.
widget_layer_missingThe widget references a layer that no longer exists, so its value cannot be computed.
column_unavailableThe write introduces a reference to a column the layer's result does not provide, or provides with a type the channel cannot use, so it was refused; stored references are never retro-refused.
field_not_publishedThe selection references a field the published surface does not declare: outside the layer's effective published field set and not a published widget's field.
catalogue_not_publishedA published layer or widget whose SQL reads the instance's catalogue does not evaluate on the link while its owner holds datasets the map does not name: a published map reaches only the datasets its own layers name, and the link would otherwise disclose the others.
selection_incompatibleThe selection's values cannot be evaluated against its field's type (for example a time range on a non-time field); it was refused before evaluation.
rate_limitedToo many requests or sign-in attempts; retry after the indicated delay.
catalogue_too_largeThe schema page exceeds 96 KiB. Request fewer tables or columns.
assistant_reservation_requiredReserve a run with POST /api/assistant/runs, then send its id as runId.
assistant_run_unavailableThis run identity is unavailable and cannot execute.
assistant_run_conflictThis run identity is already bound to different input.
assistant_capacityEight assistant runs occupy capacity. Read GET /api/assistant/pending; release an unused reservation or abandon a pending turn with DELETE /api/assistant/runs/{id}.
assistant_run_stateThis operation is not available in the current run state.
assistant_submission_too_largeThe assistant submission exceeds 128 KiB.
assistant_recovery_limitFurther work stopped before the live recovery bound could be exceeded.
assistant_plan_unavailableThe current workflow membership could not be established. No run was approved or started.
assistant_action_uncertainThe action outcome could not be established. Its declared resources may have changed.
assistant_action_interruptedThe read was interrupted before completion.
assistant_action_not_admittedThe run's page context does not admit this operation; nothing was performed. Runs under a /sql or workflow context admit only operations that declare themselves read-only, and none that reaches outside this server or asks for confirmation.
assistant_choice_invalidThe submitted model choice is malformed: it must be an object whose optional model and effort are strings.
assistant_model_not_offeredThe requested model is not one this instance offers. GET /api/assistant lists the models it offers.
assistant_effort_not_offeredThe requested effort is not one the selected model offers. GET /api/assistant lists each model's own efforts.
assistant_effort_not_supportedThe selected model has no effort levels of its own, so it takes only the provider default. Send the effort "default", or no effort at all, or choose a model that offers levels. GET /api/assistant lists each model's own efforts.
assistant_context_invalidThe submitted page context is malformed or refers to an incompatible object.
assistant_context_too_largePage context exceeds 64 KiB of UTF-8 JSON.
assistant_context_unavailableThe page context could not be read from this instance.
assistant_disabledThe assistant is not enabled; no model credential is configured.
assistant_authThe configured model credential was rejected by the provider.
assistant_providerThe model provider request failed (outage, quota, or network).
pending_unknownThe referenced pending action is unknown; it may have expired with the server's working state.
pending_resolvedThe referenced pending action was already resolved; it will not run again.
pending_supersededA newer message superseded the referenced pending action, declining it.
invalid_sketch_featureThe submitted sketch feature failed the structural gate: kind, geometry family, coordinate ranges, ring closure or the published vertex ceiling.
not_a_sketchThe named table is not a sketch dataset; sketch operations apply only to tables drawn on a map.
feature_not_foundNo drawn feature with the given id exists in the sketch dataset.
vertex_move_refusedThe vertex move was refused: only drawn polygons and freehand shapes offer vertex handles, and the index must name an existing vertex.
sketch_goneThe sketch dataset was deleted or replaced while the change was in flight; nothing was written.
map_not_foundNo map exists with the given id.
template_not_listedNo template with that id is shipped with this instance, downloaded to it or listed by the catalogue list it last read.
templates_catalogue_offAn admin turned the template catalogue off (the templates.catalogue setting), so the server reaches it for nothing: no refresh, Test or download is sent. Shipped and downloaded templates still open and copy.
template_archive_too_largeA template's archive is larger than the size the catalogue's index declares for it, or than the 150 MB a template archive may be; nothing was installed.
template_checksum_mismatchA template's archive arrived with another size or another SHA-256 than the catalogue's index declares; nothing was installed.
template_unpacked_too_largeA template's archive unpacks past this instance's upload cap; nothing was installed.
template_malformedA template's archive is not one this server reads: not a readable ZIP holding one .dezfil folder, a document that is not JSON, or a dataset the upload's reader cannot read.
template_entry_escapesA member of a template's archive names a path outside its folder.
template_members_mismatchA template's documents name a member it does not hold, or it holds a member nothing names.
template_format_unsupportedA template is in a format version this server does not read.
template_invalidA template's document fails the rules a client's document is held to, one of its layers or steps does not bind to the template's own data as a client's would or names one of its datasets other than as a plain table reference (inside a string or a table function's argument, or qualified by a schema), or a layer draws more than the default of the render cap or of Bytes drawn per layer.
template_forbiddenA template carries a publication, token, connection, service address or setting, which no template may.
template_picture_too_largeA template's map picture is larger than its 2 MB bound.
template_licence_refusedA template's data is under a licence that does not allow redistribution.
template_credit_missingA template's credit note does not name every source with its licence.
template_reference_outsideA template's layer or step names a dataset that is neither the template's own nor the result of an earlier step, such as a person's dataset or another template's.
template_record_mismatchAn installed template's files differ from the record written when it was installed, so it is refused rather than trusted.
template_not_installedThat version of the template is listed by the catalogue but not on this server yet, so it cannot be copied; fetch it first (POST /api/templates/{id}/fetch), then copy. Nothing was created.
template_reference_unboundA layer or step of the template names a dataset the copy could not bind to the datasets it makes, so the copy was refused whole and nothing was created.
internalAn unexpected server error occurred.
Dezfil · Apache-2.0docs from 7439201b