Skip to content

Spec drift: metaculus — 403 api_forecasting_not_enabled error not handled #515

@realfishsam

Description

@realfishsam

Summary

Metaculus added a new 403 error code api_forecasting_not_enabled that is returned when a user's account does not have API forecasting enabled (a feature-flag gated permission introduced in 2026). The error is not declared in our OpenAPI spec and is not handled in the Metaculus errors module.

Impact

CRITICAL — unhandled 403 responses will surface as generic HTTP errors rather than actionable user-facing messages. Users with this restriction will see confusing failures when attempting to place forecasts via PMXT.

Details

  • Error code: api_forecasting_not_enabled
  • HTTP status: 403
  • Trigger: user account does not have API forecasting permission enabled on Metaculus
  • Current state: not present in core/specs/metaculus.yaml error schemas; not handled in core/src/exchanges/metaculus/errors.ts (or equivalent)
  • Metaculus docs indicate users must enable this via account settings or contact support

Required Fix

  1. Add api_forecasting_not_enabled to the 403 error schema in core/specs/metaculus.yaml
  2. Add a handler in the Metaculus error normalizer that surfaces a clear user message: e.g. "Metaculus API forecasting is not enabled for your account. Visit your Metaculus account settings to enable it."
  3. Ensure the error does not get swallowed as a generic 403

Metadata

Metadata

Assignees

No one assigned

    Labels

    spec-driftCached OpenAPI spec out of date vs venue's live docs

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions