Backstage catalog "Unable to read url ... 404" in CI
The catalog reads each registered location URL. A 404 means the catalog-info.yaml path is wrong, the branch or repo moved, or the integration cannot access a private location.
What this error means
A catalog import or validation step fails with "Unable to read url, NotFoundError: ... 404 Not Found" for a specific catalog-info.yaml location.
backstage
Unable to read url, NotFoundError: {"documentation_url":
"https://docs.github.com/rest","message":"Not Found"} at
https://github.com/acme/repo/blob/main/catalog-info.yaml (404)Common causes
The location path or branch is wrong
The registered URL points at a file or branch that does not exist (renamed file, deleted branch), so the read 404s.
A private repo without integration access
The location is in a private repository and the integration token cannot read it, which GitHub returns as 404.
How to fix it
Correct the location URL
- Open the registered location and confirm the file exists at that branch and path.
- Fix the URL to the current default branch and path.
- Re-run the catalog read.
app-config.yaml
catalog:
locations:
- type: url
target: https://github.com/acme/repo/blob/main/catalog-info.yamlGrant integration access for private repos
Configure the GitHub integration token so the catalog can read private locations instead of getting 404.
app-config.yaml
integrations:
github:
- host: github.com
token: ${GITHUB_TOKEN}How to prevent it
- Reference the default branch and current path in locations.
- Configure integration tokens that can read private locations.
- Validate locations in CI so a moved file fails fast.
Related guides
Backstage catalog "Placeholder ... could not be resolved" in CIFix Backstage catalog "Placeholder $text/$json/$yaml could not be resolved" in CI - a catalog-info.yaml place…
Backstage integrations GITHUB_TOKEN missing for catalog import in CIFix Backstage integrations "GITHUB_TOKEN" missing in CI - the GitHub integration has no token, so catalog rea…
Backstage catalog "InputError: entity is invalid" in CIFix Backstage catalog "InputError: Malformed envelope, ..." / entity invalid in CI - a catalog-info.yaml is m…