Rover CLI Error Codes

Error code reference


Rover has a number of predefined error codes that you may run into. You can see descriptions and potential solutions directly in Rover by running rover explain <CODE>.

This page acts as an index of all of these codes and their descriptions for quick reference.

Codes

E001

This error occurs when the expected JSON response from a GraphQL endpoint can't be deserialized.

This is most likely caused by an invalid endpoint or headers, causing the server to return something that is not JSON (like an HTML error page).

Try running the command again with --log trace to see what the GraphQL endpoint is responding with.

If this error occurs on a command interacting with the Apollo Registry, please open an issue and let us know!

E002

This error occurs when trying to build headers for requests, and a header name is invalid.

Examples of an invalid header name include header names with included spaces and non-ascii characters in the name.

To resolve, check your headings for any unusual characters.

If this error occurs on a command where you aren't providing headers, please open an issue and let us know!

E003

This error occurs when trying to build headers for requests, and a header's value is invalid.

To resolve, check your headings for any unusual characters.

If this error occurs on a command where you aren't providing headers, please open an issue and let us know!

E004

This error can occur in a number of places. It indicates an error occurring when actually executing a request.

This error commonly occurs when the server can't be reached, or network connection is lost.

To debug, use the --log trace flag to expose more detailed logs of the specific error that's being encountered.

E005

This error is unexpected behavior, and likely the result of a programming mistake made in the graph registry.

This error shouldn't be reachable under normal circumstances, but if it does occur, please open an issue and let us know.

E006

This error is unexpected behavior, and likely the result of a programming mistake made in the graph registry.

This error shouldn't be reachable under normal circumstances, but if it does occur, please open an issue and let us know.

E007

This error occurs when using a subgraph command on a non-federated graph.

Either the graph you're trying to run this operation on isn't federated or the specified variant isn't. Double check the specified graph@variant combination is valid and federated.

E008

This error occurs when an invalid variant is specified for a command.

Double check your spelling or open the graph in Apollo Studio to verify that the variant you're trying to use is valid.

If you didn't pass a variant in the format graph@variant, then the default variant, current is used. If you encounter this error without providing a variant, it likely means the current variant does not exist.

E009

This error occurs when working with federated graphs and the subgraph --name provided doesn't exist as a valid subgraph.

To find a list of subgraphs already published to a graph, open the graph in Apollo Studio or run rover subgraph list <GRAPH_ID>@<VARIANT>.

E010

This error can occur because of graph lookup issues or authentication failures.

Graphs you don't have permission to will always error as unavailable for security purposes. Check your API keys with rover config whoami and make sure your graph IDs are properly spelled.

If applicable, check with your graph admin to make sure permissions and keys haven't changed.

E011

This error occurs when an introspection response from a GraphQL endpoint can't be parsed properly.

Verify your endpoint is correct, and use --log trace to make sure the response from the server is the expected JSON response. If you're still seeing this error with the correct introspection response from the server, please open an issue and let us know!

E012

This error occurs when an endpoint returns an HTTP status between 400-599.

These errors are most common with a misuse of an endpoint. If you are running introspection commands or fetching from an endpoint for composition, it's likely you misused headers or specified the wrong url.

Check your urls, headers, and if needed, run the command again with --log trace to see specific details about the request/response.

E013

This error occurs when an API key isn't recognized by the graph registry. Your key may have been disabled, changed, or saved improperly.

Try running rover config whoami to debug API key issues.

Check the length of the key shown in the response of this command and make sure it's what you expect. Sometimes double-pasting the key when running auth can happen.

E014

This occurs when an API key is not in the format expected.

Registry API keys are in one of the following formats:

user:my-username:secretkey service:graph-id:secretkey

If you're getting this error, it's because the key couldn't be parsed properly based on these formats. Run rover config whoami to make sure your key looks like you expect it to.

The middle of the key is masked for security, but you should be able to see the user or serv at the beginning of the key, and the last few characters of the key, along with its length.

E015

This error occurs when Rover's update checking fails because of release versions not being in the correct format.

If you encounter this issue, please open an issue and let us know!

E016

This error occurs when trying to setup a configuration profile, and Rover is unable to create the directory to store this information in.

This is usually a permissions issue. If your system's default configuration directory is inaccessible, you can use the APOLLO_CONFIG_HOME environment variable to choose a different directory. See Rover's configuring docs for more info.

E017

This error occurs when trying to setup a configuration profile, and Rover is unable to determine your system's defauly configuration directory.

You can use the APOLLO_CONFIG_HOME environment variable to tell Rover where to save and find configuration info. See Rover's configuring docs for more info.

E018

This error occurs when using the APOLLO_CONFIG_HOME environment variable improperly.

This variable should reference a directory to store configuration info in, but the current value is likely pointing to a file rather than a directory.

Check your APOLLO_CONFIG_HOME variable and the intended destination.

E019

This error occurs when trying to clear all of Rover's local config, but none is found.

This may be the result of running the rover config clear command multiple times, or an update to your APOLLO_CONFIG_HOME variable.

See Rover's configuration docs for more on how to manage Rover's configuration.

E020

This error occurs when trying to run a command that needs to use a configuration profile or an API key, but none are found.

This is likely because you haven't set up a configuration profile yet or your APOLLO_KEY has been removed.

Run rover config auth to set up a new configuration profile or check out Rover's configuration docs for more on how to set up and use Rover.

E021

This error occurs when trying to use a configuration profile that can't be found.

This is most likely the result of a typo when running a command with the --profile option or saving a new profile.

Run apollo config list to see a full list of available configuration profiles or apollo config auth to set up a new one.

Check out Rover's configuration docs for more on how to set up and use Rover.

E022

This error occurs when trying to load the contents of a configuration profile, and there is nothing available to load that isn't sensitive.

This likely occurred because configuration profiles were cleared. Try running rover config auth and setting up a new configuration profile.

E023

This error occurs when trying to save or load a configuration profile using a file path that is not valid UTF-8.

This is likely due to an invalid path in your APOLLO_CONFIG_HOME environment variable.

Check your environment variable or use --log trace for more information about the path that Rover is trying to use.

E024

This error occurs when Rover tries to load a configuration profile that has been modified with invalid TOML.

If you modified a configuration file by hand, double check to make sure your formatting is appropriate.

If you did not intentionally modify a configuration profile, you may need to delete the profile and re-create it with rover config delete --profile <NAME> and rover config auth --profile <NAME>.

If this error persists, please open an issue and let us know.

E025

This error occurs when trying to save a configuration profile, and Rover can't serialize it appropriately to TOML.

If this error occurs, please open an issue and let us know.

E026

This error occurs when Rover runs into an issue loading or saving a configuration profile.

This may happen as a result of a typo in a profile name, or a profile name being incorrect.

Double check your command usage, and list available profiles with rover config list.

If this error persists, please open an issue and let us know.

E027

This error occurs when working with a federated graph and its subgraphs. When graphs can't be composed due to errors, no final supergraph schema can be built.

To resolve this error, inspect the printed errors and correct the subgraph schemas.

E028

This error occurs when Rover could not connect to an HTTP endpoint.

If you encountered this error while running introspection, you'll want to make sure that you typed the endpoint correctly, your Internet connection is stable, and that your server is responding to requests. You may wish to run the command again with --log=debug.

E029

This error occurs when you propose a subgraph schema that could not be built.

There are many reasons why you may run into build errors. This error should include information about why the proposed subgraph schema could not be composed. Error code references can be found here.

Some build errors are part of normal workflows. For instance, you may need to publish a subgraph that does not compose if you are trying to migrate an entity or field.

E030

This error occurs when an operation check fails. This means that you proposed a schema that would break operations in use by existing clients. You can configure this behavior in the Checks -> Configuration view in Apollo Studio, and you can read more about client checks here.

E031

This error occurs when Rover made an HTTP request and it timed out.

The client timeout that Rover sets is configurable. You can increase Rover's request timeout, but it's also possible that you've made a request for too much data from the Studio API, or that the Studio API is experiencing degraded performance. You can check for known performance issues on our status page.

E032

This error occurs when rover tries to start a graph or subgraph asynchronous check with invalid inputs.

Please double check your inputs before running again.

E033

This error occurs when Rover tries to run an operation that you don't have permission for, such as starting a graph or subgraph check.

Check your API keys with rover config whoami and if applicable, contact your graph admin to request access.

E034

This error occurs when Rover runs into a billing plan limit while trying to perform an action.

This is likely to be from reaching rate limits while running graph or subgraph checks.

To resolve this problem, please try again later or contact your graph admin about upgrading your billing plan.

E035

This error occurs on Windows when a configuration profile has a corrupted API key. Versions of Rover before v0.8.2 used to create corrupted API keys with the rover config auth command.

You will need to recreate the configuration profile in order to proceed. See Rover's configuring docs for more info.

E036

This check error occurs when the build task, operations task, and downstream task (if run) have succeeded or are pending, but some other check task has failed. Please view the check in Apollo Studio at the provided link to see the failure reason. You can read more about client checks here.

E037

This error occurs when a downstream check task fails. This means that you proposed a schema for your source variant that causes checks to fail in blocking downstream variants. You can configure which downstream variants are blocking in the Checks -> Configuration view in Apollo Studio, and you can read more about client checks here.

E038

This error occurs when a supergraph configuration file failed to resolve all of the subgraph schemas.

This error should include information about why the schemas could not be resolved, and include the name of the subgraph that could not be resolved. See the docs for more information on the configuration format.

E039

This error occurs when using a contract command on a non-contract variant.

The variant you're trying to run this operation on isn't a contract variant. Double check the specified graph@variant combination is valid and a contract variant on the Studio variant settings page.

E040

This error occurs when a contract configuration fails to publish.

This error should include information about why the contract configuration could not be successfully published; usually it is due to invalid inputs. You should assume that none of the configuration changes have taken effect unless the error message(s) indicate otherwise.

E041

This error occurs when a new subgraph fails to publish due to a missing --routing-url.

The subgraph you're trying to publish has never been published before, meaning it would be unreachable without specifying a --routing-url. In subsequent publishes, the --routing-url is optional and will default to the previous value.

E042

This error occurs when a schema file has lint rule violations.

The schema you're linting has violated some of the rules configured for your graph. Fix the errors and re-run the lint command to verify the violations have been addressed. See the docs for more information about schema linting.

E043

This error occurs when a build, operation, and/or linter check step fails due to a change in the schema.

Please view the check in Apollo Studio at the provided link to see the failure reason. You can read more about schema checks here.

E044

Offline enterprise license support for Apollo is available on an as-needed basis. It must be enabled on your Studio organization. For access, send a request to your Apollo contact.

Feedback

Edit on GitHub

Forums