Skip to main content

Configuration Audit Report

Unified audit trail of edits and deletions across configuration entities — accounts, devices, personnel, catalogs, and portal records.

GET/apidev/v1/audit/config
PermissionAPICLI_AUDITORIA_CONFIG
Rate Limit10 req/min
Cache60s
Max Range92 days

Overview​

Returns the audit trail of changes made to configuration entities. Each row records who changed what, when, from where, and the exact field-level differences (previous value → new value).

Only modifications and removals are recorded — creations are never audited. Use this report to investigate who edited an account, when a price list was deactivated, or which user removed a portal configuration.

  • Entity filter — narrow to a single configuration type (account, device, personnel, etc.)
  • Action filter — keep only edits or only deletions
  • Actor & target filters — focus on a specific user or a specific entity record
  • Free-text search — match against the entity name and change summary

Each returned record also carries a source field telling you where the change came from (web panel, mobile app, external integration, bulk import, automation, or internal job) — see Source values.


Request​

Request Headers​

Every request to a protected endpoint requires these headers:

HeaderRequiredDescription
AuthorizationYesBearer token obtained from the Login endpoint. Format: Bearer <token>
X-API-KeyYesCompany integration key provided during onboarding. Format: gtk_xxx...
tenantYesYour assigned tenant domain (default: geotareas.com) — always send your assigned tenant
Content-TypeConditionalapplication/json — required for POST and PUT requests

Query Parameters​

ParameterTypeRequiredDefaultDescription
startdatestringYes—ISO 8601 start date-time (e.g. 2026-03-01T00:00:00).
enddatestringYes—ISO 8601 end date-time. Max range 92 days from startdate.
entitystringNoAllConfiguration entity type. One of the Entity values.
actionstringNoAllType of change. One of the Action values.
user_idstringNoAllRestrict to changes made by a specific user (actor) ID.
entity_idstringNoAllRestrict to changes affecting a specific entity record ID.
searchstringNo—Free-text search against entity name and change context.
limitintegerNo25Number of records per page (1–100). A value outside that range returns 400 VALIDATION_ERROR — it is not clamped silently.
offsetintegerNo0Number of records to skip for pagination.

Entity values​

The entity filter accepts one of the following configuration entity types:

CodeDescription
CUENTAAccount (root record).
DISPOSITIVODevice / vehicle.
PERSONALPersonnel / driver.
PLANTILLA_COMCommunication template (root record).
PLANTILLA_ESTADOStatus entry of a communication template (sub-resource of PLANTILLA_COM).
CAMPO_DINAMICODynamic-field definition / schema.
PROCEDENCIASource / origin catalog entry.
PRODUCTOProduct catalog entry.
COBERTURACoverage entry (sub-resource of PRODUCTO).
PRESTACIONService type (classification).
CAUSACause (classification).
SUBCAUSASub-cause (classification, sub-resource of CAUSA).
MOTIVOService reason.
FINSERVICIOService-completion code.
RECHAZOService-rejection code.
ESTADO_TAREATask status (configurable catalog).
PORTAL_FACTURAProvider invoice (Portal).
PORTAL_LIQUIDACIONProvider settlement (Portal).
PORTAL_CONFIGPortal configuration.

Action values​

The action filter accepts one of the following. Creations are not audited.

CodeDescription
EDITARField edit — one or more entity fields were modified (includes deactivation when it travels as a field change in the edit form).
ELIMINARRemoval — deletion, deactivation, or unlinking of the entity or a sub-resource.

Source values​

The source response field carries one of the following origins (it is informational — it cannot be used as a query filter):

CodeDescription
WEBChange made from the web panel.
MDTChange made from the mobile app.
API_EXTERNAChange made through the external API / integrations.
IMPORTChange made by the bulk-import worker.
WORKFLOWChange made by a workflow automation.
SISTEMAChange made by an internal system job (cron, cleanup, maintenance).

Code Examples​

curl -s -H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT" \
"https://$TENANT/apidev/v1/audit/config?startdate=2026-03-01T00:00:00&enddate=2026-03-31T23:59:59&entity=CUENTA&action=EDITAR&limit=25"

Response​

Response Fields​

FieldTypeDescription
audit_idstringAudit record identifier.
occurred_atstringWhen the change was recorded.
entitystring | nullConfiguration entity type. One of the Entity values.
entity_idstring | nullIdentifier of the affected entity record.
entity_namestring | nullHuman-readable name of the affected entity.
actionstring | nullType of change. One of the Action values.
sourcestring | nullOrigin of the change. One of the Source values.
user_idstring | nullIdentifier of the user who made the change.
user_namestring | nullName of the user who made the change.
is_admin_logicsatbooleanWhether the actor is a platform (LogicSat) administrator.
changesarrayField-level differences (see below).

Each item in changes has the following shape:

FieldTypeDescription
fieldstringName of the field that changed.
labelstring | nullHuman-readable field name.
old_valuestring | nullPrevious value.
new_valuestring | nullNew value.

Example Response​

{
"success": true,
"data": [
{
"audit_id": "982710394857201664",
"occurred_at": "2026-03-05T16:53:00",
"entity": "CUENTA",
"entity_id": "982710394857100200",
"entity_name": "Distribuidora del Norte S.A.",
"action": "EDITAR",
"source": "WEB",
"user_id": "982710394857009999",
"user_name": "Laura Hernandez",
"is_admin_logicsat": false,
"changes": [
{
"field": "cuetel",
"label": "Phone",
"old_value": "555-1234",
"new_value": "555-9876"
}
]
},
{
"audit_id": "982710394857201665",
"occurred_at": "2026-03-06T09:12:00",
"entity": "PRODUCTO",
"entity_id": "982710394857100455",
"entity_name": "Roadside Assistance — Premium",
"action": "ELIMINAR",
"source": "IMPORT",
"user_id": "982710394857009100",
"user_name": "System Import",
"is_admin_logicsat": true,
"changes": [
{
"field": "proestado",
"label": "Status",
"old_value": "A",
"new_value": "I"
}
]
}
],
"meta": {
"total": 2,
"limit": 25,
"offset": 0
}
}

Errors​

CodeHTTPDescription
VALIDATION_ERROR400Invalid parameters (e.g. date range exceeds 92 days, an unknown entity / action value, or an unrecognized parameter name).
UNAUTHORIZED401Missing, invalid, or expired tenant / Authorization / X-API-Key
FORBIDDEN403User lacks the required permission.
RATE_LIMITED429Exceeded 10 req/min.
INTERNAL_ERROR500Unexpected server error.