Enable external endpoints for app `valuehalla` (PERMISSION_DENIED: external endpoints are not enabled for this app)

Open
#284 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
typescript
Domain
api, backend

Research direction

Start with the server.externalEndpoints section of config-file.v1.json and the @devvit/external-endpoints README, especially the “Long-term Managed App Tokens Calls” flow. Reproduce the failure with externalEndpoints.getExternalUrl() after devvit upload and devvit view for the configuration shown. Done means the required access or token process is established, and the schema or documentation clearly signals any enablement requirement.

Written by the indexing model from the issue text.

Description

server.externalEndpoints is documented in the config schema and my config validates against config-file.v1.json. After devvit upload, devvit view correctly reports "Can be invoked by third-parties outside of Reddit", so the endpoint does register.

At runtime, however, externalEndpoints.getExternalUrl() fails:

7 PERMISSION_DENIED: grpc invocation failed with status 7;
external endpoints are not enabled for this app
Details
App valuehalla (owner u/plainselling)
Installed in r/valuehalla_dev
Devvit version 0.14.0
Config server.externalEndpoints.corpus/external/corpus, scopes ["global"]
"server": {
  "dir": "dist/server",
  "entry": "index.cjs",
  "externalEndpoints": {
    "corpus": {
      "endpoint": "/external/corpus",
      "scopes": ["global"]
    }
  }
}
Use case

The app reads subreddit listings and computes term-frequency statistics over the posts. I'd like our own data pipeline to pull those results out on a schedule, rather than pushing them to a webhook we'd have to keep online. The pull model in the @devvit/external-endpoints README ("Long-term Managed App Tokens Calls") is exactly the shape we want.

Questions
  1. Is this feature gated behind an allowlist? If so, what is the process to request access?
  2. Is there a way to mint a long-lived managed app token? I couldn't find a CLI command for it, and the README describes them as "managed by the app developer" without saying where.

If the feature isn't generally available yet, it would be worth saying so in the schema description — [experimental] reads as "may change", not "will not work until enabled". Everything short of the runtime call succeeds, including validation and the capability line in devvit view, so there's no signal that access is required until you hit PERMISSION_DENIED.

Dominant language
TypeScript
Stars
210
Forks
88
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from reddit/devvit

All issues in reddit/devvit

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.