# Publishing assets

This API reference document contains information on publishing assets

Since **Assets** is a system model, assets also come with publishing capabilities. You can use GraphQL mutations to publish or unpublish your assets, to and from content stages.

  **publishAsset**

```graphql
# Use the publishAsset mutation along with your asset ID and a destination stage to publish an asset to that stage
# This example publishes an asset to the PUBLISHED stage
mutation {
  publishAsset(where: {id: "<YOUR_ASSET_ID>"}, to: PUBLISHED) {
    id
  }
}
```

  
  **unpublishAsset**

```graphql
# Use the unpublishAsset mutation along with an asset ID to return the asset to the DRAFT stage
mutation {
  unpublishAsset(where: {id: "<YOUR_ASSET_ID>"}) {
    id
  }
}
```


Learn more about [publishing to content stages](https://hygraph.com/docs/api-reference/content-api/content-stages).
