{
    "tags": [
        {
            "slug": "getting-started",
            "id": "5ddc9063c35e7700383b27e0",
            "name": "Getting Started",
            "description": null,
            "feature_image": null,
            "visibility": "public",
            "meta_title": null,
            "meta_description": null,
            "og_image": null,
            "og_title": null,
            "og_description": null,
            "twitter_image": null,
            "twitter_title": null,
            "twitter_description": null,
            "codeinjection_head": null,
            "codeinjection_foot": null,
            "canonical_url": null,
            "accent_color": null,
            "url": "https://docs.ghost.io/tag/getting-started/"
        }
    ]
}
GET /content/tags/
GET /content/tags/{id}/
GET /content/tags/slug/{slug}/

By default, internal tags are always included, use filter=visibility:public to limit the response directly or use the tags helper to handle filtering and outputting the response.

Tags that are not associated with a post are not returned. You can supply include=count.posts to retrieve the number of posts associated with a tag.

{
    "tags": [
        {
            "slug": "getting-started",
            "id": "5ddc9063c35e7700383b27e0",
            "name": "Getting Started",
            "description": null,
            "feature_image": null,
            "visibility": "public",
            "meta_title": null,
            "meta_description": null,
            "og_image": null,
            "og_title": null,
            "og_description": null,
            "twitter_image": null,
            "twitter_title": null,
            "twitter_description": null,
            "codeinjection_head": null,
            "codeinjection_foot": null,
            "canonical_url": null,
            "accent_color": null,
            "url": "https://docs.ghost.io/tag/getting-started/"
        }
    ]
}

By default, tags are ordered by name when fetching more than one.