Skip to content

Clarify rollout/auth for documented GET /2/usage/credits: empty 404 on Pay Per Use #395

Description

@OddsLogicZach

Documentation versus live behavior

The GET /2/usage/credits documentation was added in #329 on August 24. The live OpenAPI, version 2.168, allows BearerToken or OAuth2UserToken with no operation-specific parameters. Our Pay Per Use project also lists this endpoint in its Console rate-limit catalog: 30 requests/15min per app or user.

The documented request consistently returns HTTP 404 with a zero-byte body. Is an endpoint rollout prerequisite, account entitlement, or required request detail missing from the documentation? If the request is correct, please route this to API engineering for a transaction trace.

Reproduction and controls

App: OddsLogicInjuryTool, 33357811, active. Project: 2092431245758140418, Pay Per Use.

  • Valid app Bearer Token → /2/usage/tweets: 200, correct project.
  • Deliberately invalid token → /2/usage/tweets: 401, structured Unauthorized JSON.
  • Valid, invalid, or absent token → /2/usage/credits: identical empty 404, no JSON content type or endpoint rate-limit headers.
  • Unauthenticated /2/account: normal structured 401.
  • A deliberately nonexistent v2 path produces the same response class as credits.
  • Reproduced using Node HTTPS, native fetch, and curl; HTTP/1.1 and actual HTTP/2; api.x.com and api.twitter.com; both DNS-advertised IPv4 addresses with TLS/SNI validation.
  • Cache-bypass query plus no-cache headers still yields 404, CF-Cache-Status DYNAMIC.
  • The Console successfully reads the funded balance through its separate internal Console endpoint. We are not treating that private endpoint as a supported backend substitute.

Trace references

All times UTC, September 8, 2026:

Case UTC x-transaction-id
Valid app Bearer, credits 404 18:29:29.019 586153a2a517f169
Same, second DNS address, 404 18:29:29.068 561c073908cf82e2
Unauthenticated /2/account, 401 18:51:13.396 ec4c65fb713280f5
Unauthenticated credits, 404 18:51:13.468 55be6619ed8c4c55
Valid Bearer, cache-bypass credits, 404 18:52:05.791 ec6585bfb58351d8

Successful /2/usage/tweets control: 22f860962b0e0f41, approximately 18:24:39 UTC.

Requested clarification

  1. Is this endpoint currently deployed for Pay Per Use app-only Bearer authentication?
  2. Is an additional supported scope, header, account mapping, or enrollment step required?
  3. If not, please trace the empty 404 and confirm the actual correction or incident reference.

The response suggests routing or endpoint-access handling, but we cannot determine the internal cause externally. The unmerged announcement #330 is release-history context, not proof the service is undeployed.

An earlier developer-forum report remains pending moderation. No duplicate forum topic has been created. No credentials, cookies, or Authorization values are included here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions