
- MODX 3
- PHP 8.1


/api/v1 index.phpmxheadless_api_prefix совпадает с URLapi.php?route=/v1/healthservice_disabled mxheadless_enabled=false. Включите или оставьте только health для maintenance.
scope_deniedinvalid_tokenRate limit. Смотрите X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset и Retry-After в секундах. Поднимите global или per-key лимит. Проверьте trusted proxies (иначе все за LB делят один IP).
idempotency_conflict Ответ при повторном Idempotency-Key с другим телом или при параллельной обработке того же ключа. Ключ принимается только для POST, 1–128 символов из [A-Za-z0-9._:-]. Смените ключ или отправьте то же тело.
Неизвестное field/filter/sort, битый JSON, page+offset вместе, превышение max_fields.
mxheadless_cors_enabled=true и origin SPA в mxheadless_cors_allowed_origins* с mxheadless_cors_allow_credentials=trueOPTIONS доходит до MODX (rewrite, не блокируется WAF)data.cors в discovery (GET /api/v1)Подробнее: CORS.
*. Префиксы вроде resources.* не поддержаны, подписка с ними не получит ничегоmxheadless_webhook_deliveries: статус, attempts, last_error, next_attempt_onНужен X-CSRF-Token. Bearer API key CSRF не требует.
События и вебхуки возникают только при мутациях через API mxHeadless. Плагин пакета слушает один OnHandleRequest, OnResourceSave в нём нет. Правка ресурса в админке не инвалидирует кэш mxHeadless и фронт-кэш.
Что делать: править через API, повесить свой плагин на OnResourceSave, который дёргает ваш revalidate-обработчик, или сбросить кэш вручную. Подробности: ISR revalidation.
Включите временно mxheadless_debug только на staging. Журнал audit: audit-log.