30 days free. No credit card. Full access from the moment you connect your site.

Start free trial

GeoDirectory Delete Listing Field

geodirectory/delete-listing-field permanently deletes a custom field from a listing type.

It needs confirm_name matching the field’s htmlvar_name and confirm_data_loss set true.

Before you run it

This drops the database column. Every listing of this type loses that field’s value, permanently and without a copy anywhere — on a directory with a thousand listings that is a thousand values. It requires both confirm_name and confirm_data_loss for that reason. To hide a field while keeping its data, use geodirectory/manage-listing-field with is_active: false instead.

At a glance

Abilitygeodirectory/delete-listing-field
ToolsetGeoDirectory — toolset/geodirectory
GroupGeoDirectory › Fields
RequiresAcrossAI Pro, plus GeoDirectory active on the site
Capabilitymanage_options
SafetyDestructive — drops a database column. Requires confirm_name and confirm_data_loss.
RepeatableNot idempotent — each call changes the row set, so re-running is not a no-op
Ships inAcrossAI Pro 0.9.16 and later

How it works

GeoDirectory stores listing fields as real database columns, so removing a field is a DROP COLUMN. The values go with it — not to a trash, not to an archive, gone.

Two separate confirmations are required because the two risks are different. The name confirms you are removing the field you think you are; the data-loss acknowledgement confirms you understand that removing it destroys content.

Almost every time somebody wants to “remove a field”, what they want is for it to stop appearing. is_active: false does that, keeps the column, keeps the data, and is reversible in one call.

The genuine case for deletion is a field created by mistake, before any listing used it.

Not idempotent.

Input

NameTypeRequiredWhat it is
idintegerYesCustom field ID, from geodirectory/list-listing-fields.
confirm_namestringYesMust match the field’s htmlvar_name exactly as it is on this site. The guardrail against deleting by ID alone.
confirm_data_lossbooleanYes — must be trueAcknowledges that the stored value is destroyed for every listing of this type.
post_typestringNoListing type, for example gd_place. Defaults to the site default. See geodirectory/get-directory-overview for the valid values.
confirmbooleanYes — must be trueThe irreversibility gate. Without it the call is refused before anything is touched.

What comes back

NameTypeWhat it is
idintegerThe field removed.
column_droppedstringThe database column that was dropped.
successbooleanWhether the call completed.
messagestringA one-line summary of what happened, suitable for showing a human.
error_codestringPresent only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation.

Example

Ask your assistant:

Remove the unused fax field from listings.

It resolves to one call:

{
  "ability": "geodirectory/delete-listing-field",
  "parameters": {
    "id": 44,
    "confirm_name": "fax",
    "confirm_data_loss": true
  }
}

Worth knowing

  • A DROP COLUMN. Not recoverable.
  • Hiding the field with is_active: false is what people usually mean.
  • Two confirmations, because there are two different risks.
  • Back up the database first.

Related abilities


Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager

Browse the rest: Every ability, by category


Keep reading