> ## Documentation Index
> Fetch the complete documentation index at: https://docs.goldsky.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Subgraph tags

> Learn how to use tags to manage your subgraph endpoints.

## Deployments vs. tags

Every subgraph you push to Goldsky has two kinds of endpoints:

* **Deployment** — a specific, immutable version of a subgraph, identified by `name/version` (for example, `poap-subgraph/1.0.0`). Each `goldsky subgraph deploy` creates a new deployment.
* **Tag** — a mutable, named alias that points at a deployment (for example, `prod` → `poap-subgraph/2.0.0`). Tags give you a stable GraphQL endpoint that you can repoint to a new version without changing your application code.

You can list each independently with the Goldsky CLI:

```shell theme={null}
goldsky subgraph list --filter deployments  # only version deployments
goldsky subgraph list --filter tags         # only tags
goldsky subgraph list                       # both
```

<Tip>
  If `--filter deployments` returns no results but you know you have subgraphs in your project, they may have been published only through tags (for example, via a CI workflow that tags on deploy). Run `goldsky subgraph list` with no filter to see everything, or `--filter tags` to inspect tagged endpoints.
</Tip>

## Create a tag

First, create a tag using the Goldsky CLI and associate it with your subgraph.

```shell theme={null}
goldsky subgraph tag create subgraph/1.0.0 --tag prod
```

We've now created a new tag called `prod`. Now our GraphQL endpoint will use the word `prod` instead of the version number. You should see the new GraphQL endpoint listed in your terminal after running the command.

Let's say you've upgraded your `poap-subgraph` to verison `2.0.0` and want to start querying it with your `prod` GraphQL endpoint. It's as simple as creating the tag again on the new version.

```shell theme={null}
goldsky subgraph tag create subgraph/2.0.0 --tag prod
```

Like before, you should see the GraphQL endpoint after running this command, and it should be the same as before. Now your queries will be routed to the `2.0.0` version of the subgraph seamlessly


## Related topics

- [CLI Reference](/reference/cli.md)
- [Migrating subgraph tags](/subgraphs/migrate-from-alchemy/tags.md)
- [GraphQL Endpoints](/subgraphs/graphql-endpoints.md)
- [Agent Skills](/ai-skills.md)
- [Comparison](/subgraphs/migrate-from-alchemy/comparison.md)
