Troubleshooting 404 errors

This guide helps you troubleshoot a 404 error on a Looker web page or in a Looker API request. A 404 error typically means that either the requested resource doesn't exist, or that the user doesn't have permission to access it.

Debugging tree

Use the following decision tree to begin troubleshooting a 404 error:

The following sections describe the scenarios in the tree in further detail.

Troubleshooting a 404 error in the browser

If the 404 error appears on a web page in a browser, follow the steps in this section. Otherwise, check the API error section.

Check the JavaScript console

First, check the JavaScript console on your browser for more information on the error. To open the JavaScript console on Google Chrome, follow these steps:

  1. Click the three-dot More menu.
  2. Select More Tools.
  3. Click Developer Tools.
  4. Click the Console tab.

Look for the 404 error in the list of errors and find the corresponding URL.

If the URL returning a 404 is not a Looker URL, the error originates from an external resource. If the request URL belongs to a custom application that connects to Looker, examine your application's code and logs to troubleshoot the error. Looker support for external resource issues is limited.

If the URL is a Looker URL, continue to the next section.

Check the URL for typos

Check the URL for common typos. For example:

  • A common typo for a Look page is /look/123. The correct syntax is /looks/123.
  • A common typo for a dashboard page is /dashboard/123. The correct syntax is /dashboards/123.

When you're including a link to an Explore, a Look, or a dashboard in your LookML, always test the link first to make sure the syntax is correct.

If you find a typo in a link that was generated from your LookML, fix the typo in your LookML. If you find a typo in a URL that was generated by Looker (for example, in a UI navigation element), contact Support to request that the URL be corrected in the product.

Troubleshooting a 404 error in the API

If the error appears as a response to a Looker API call, follow the steps in this section.

Review the API endpoint documentation

Look up the documentation for the API endpoint that is returning the 404 error. For example, the documentation page for the create_sso_embed_url endpoint is Create Signed Embed URL. Check the parameters and make sure that you are providing the correct parameters to the API call.

Make sure that the request verb and path are correct. For example, the /api/4.0/embed/sso_url endpoint should be used with the POST verb.

You can also test the API endpoint directly on your instance by using the API Explorer.

Check for required endpoint conditions

Some endpoints are only available in certain conditions:

  • Some LookML project endpoints (such as create_project, deploy_to_production, and reset_project_to_production) are available only in development mode.
    • If necessary, use the update_session endpoint with the request body {"workspace_id": "dev"} to switch your API session to development mode.
  • The reset_project_to_production endpoint is unavailable on shared branches.
  • The deploy_ref_to_production endpoint is available only when Advanced Deploy Mode is enabled.

Check webhook settings

If the request URL is a deploy webhook, check your webhook settings.

If you're using the webhook to deploy a specific branch or reference, enable Advanced Deploy Mode on the project.

If a webhook deploy secret is enabled on the project, make sure you're including the secret in the request.

Check if requested resources exist

Confirm that all resources that are referenced in the request actually exist on your Looker instance.

Check that all values in the request URL and body (such as folder IDs or dashboard IDs) refer to valid, existing resources. For example, to check if a dashboard exists, navigate to /dashboards/[id] as an Admin user. If a resource is missing or invalid, create the missing resource or specify an existing one.

If the resource exists but you still receive a 404 error, check to see whether the resource exists in dev mode. If the Looker user has the develop permission, see if the user can access the resource when they enter development mode. For API calls, use the update_session endpoint with the request body {"workspace_id": "dev"} to switch your API session to development mode.

If the user doesn't have develop permission, try deploying the LookML project to production and then checking if they can access it.

Check user permissions and content access settings

If resources exist but the user still receives a 404 error, check the user's permissions and content access.

Impersonate the user and check for the error

If you're an admin, navigate to the Admin > Users panel and impersonate (sudo) the user experiencing the 404 error.

  • If the user is an embed user, verify that their embed credential on the Admin > Users page matches the external_user_id in the embed login URL.
  • If the user is making an API call, use the login_user endpoint to impersonate the user.

If the 404 error appears while you're impersonating the user, but not when you view the resource as an admin, then the user likely has insufficient permissions or content access settings.

Check for required permissions

Check the user's roles in the Admin > Users panel and the list of permissions in Looker to make sure that the user has the necessary permissions in at least one of their roles. For example, to view a dashboard, a user needs at least the access data, see_looks, and see_user_dashboards permissions. If the user lacks the required permissions, add those permissions to a permission set in a role that's assigned to that user.

If any required permissions are model-specific, verify that the LookML model is included in the model set for at least one of the user's roles with the required permission. If not, add the model to the model set of one of the roles that's assigned to the user.

Check for valid embed permissions

If the user is a signed embed user, check whether the required permission is a valid embed permission. If it isn't, then the embed user won't be able to make the request successfully. For example, embed users can't be assigned the see_lookml permission.

Check for access grants

If the content is based on an Explore with required_access_grants defined, check the access_grant definition in the LookML project. Edit the user's user attribute value for the specified user attribute to one of the required values in the access grant.

Check content access

If the requested resource is stored in a folder, check the content access settings on that folder. Looks, dashboards, and Looker Studio reports are all stored in folders.

Final review and support

If the 404 error is still occurring, review the troubleshooting steps on this page. If you're still unable to resolve the 404 error, contact Support.