Discourse Tags API
The Tags API from Discourse — 4 operation(s) for tags.
The Tags API from Discourse — 4 operation(s) for tags.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/discourse-tags-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Discourse API Documentation Tags API
x-logo:
url: https://docs.discourse.org/logo.svg
version: latest
description: This page contains the documentation on how to use Discourse through API calls.
license:
name: MIT
url: https://docs.discourse.org/LICENSE.txt
servers:
- url: https://{defaultHost}
variables:
defaultHost:
default: discourse.example.com
tags:
- name: Tags
paths:
/tag_groups.json:
get:
summary: Get a list of tag groups
tags:
- Tags
operationId: listTagGroups
responses:
'200':
description: tags
content:
application/json:
schema:
additionalProperties: false
properties:
tag_groups:
type: array
items:
type: object
additionalProperties: false
properties:
id:
type: integer
name:
type: string
tags:
type: array
items:
type: object
additionalProperties: false
properties:
id:
type: integer
name:
type: string
slug:
type: string
required:
- id
- name
- slug
parent_tag:
type: array
items:
type: object
additionalProperties: false
properties:
id:
type: integer
name:
type: string
slug:
type: string
required:
- id
- name
- slug
one_per_topic:
type: boolean
permissions:
type: object
additionalProperties:
type: integer
required:
- id
- name
- tags
- parent_tag
- one_per_topic
- permissions
required:
- tag_groups
post:
summary: Creates a tag group
tags:
- Tags
operationId: createTagGroup
parameters: []
responses:
'200':
description: tag group created
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
tag_group:
type: object
properties:
id:
type: integer
name:
type: string
tags:
type: array
items:
type: object
properties:
id:
type: integer
name:
type: string
slug:
type: string
required:
- id
- name
- slug
parent_tag:
type: array
items:
type: object
properties:
id:
type: integer
name:
type: string
slug:
type: string
required:
- id
- name
- slug
one_per_topic:
type: boolean
permissions:
type: object
required:
- id
- name
- tags
- parent_tag
- one_per_topic
- permissions
required:
- tag_group
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
name:
type: string
required:
- name
/tag_groups/{id}.json:
get:
summary: Get a single tag group
tags:
- Tags
operationId: getTagGroup
parameters:
- name: id
in: path
schema:
type: string
required: true
responses:
'200':
description: notifications
content:
application/json:
schema:
type: object
properties:
tag_group:
type: object
properties:
id:
type: integer
name:
type: string
tag_names:
type: array
items: {}
parent_tag_name:
type: array
items: {}
one_per_topic:
type: boolean
permissions:
type: object
properties:
everyone:
type: integer
put:
summary: Update tag group
tags:
- Tags
operationId: updateTagGroup
parameters:
- name: id
in: path
schema:
type: string
required: true
responses:
'200':
description: Tag group updated
content:
application/json:
schema:
type: object
properties:
success:
type: string
tag_group:
type: object
properties:
id:
type: integer
name:
type: string
tag_names:
type: array
items: {}
parent_tag_name:
type: array
items: {}
one_per_topic:
type: boolean
permissions:
type: object
properties:
everyone:
type: integer
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
/tags.json:
get:
summary: Get a list of tags
tags:
- Tags
operationId: listTags
responses:
'200':
description: notifications
content:
application/json:
schema:
type: object
properties:
tags:
type: array
items:
type: object
properties:
id:
type: integer
text:
type: string
name:
type: string
count:
type: integer
pm_count:
type: integer
target_tag:
type:
- string
- 'null'
extras:
type: object
properties:
categories:
type: array
items: {}
/tag/{name}.json:
get:
summary: Get a specific tag
tags:
- Tags
operationId: getTag
parameters:
- name: name
in: path
schema:
type: string
required: true
responses:
'200':
description: notifications
content:
application/json:
schema:
type: object
properties:
users:
type: array
items:
type: object
properties:
id:
type: integer
username:
type: string
name:
type:
- string
- 'null'
avatar_template:
type: string
primary_groups:
type: array
items: {}
topic_list:
type: object
properties:
can_create_topic:
type: boolean
draft:
type:
- string
- 'null'
draft_key:
type: string
draft_sequence:
type: integer
per_page:
type: integer
tags:
type: array
items:
type: object
properties:
id:
type: integer
name:
type: string
topic_count:
type: integer
staff:
type: boolean
topics:
type: array
items:
type: object
properties:
id:
type: integer
title:
type: string
fancy_title:
type: string
slug:
type: string
posts_count:
type: integer
reply_count:
type: integer
highest_post_number:
type: integer
image_url:
type:
- string
- 'null'
created_at:
type: string
last_posted_at:
type: string
bumped:
type: boolean
bumped_at:
type: string
archetype:
type: string
unseen:
type: boolean
last_read_post_number:
type: integer
unread_posts:
type: integer
pinned:
type: boolean
unpinned:
type:
- string
- 'null'
visible:
type: boolean
closed:
type: boolean
archived:
type: boolean
notification_level:
type: integer
bookmarked:
type: boolean
liked:
type: boolean
tags:
type: array
items: {}
views:
type: integer
like_count:
type: integer
has_summary:
type: boolean
last_poster_username:
type: string
category_id:
type: integer
pinned_globally:
type: boolean
featured_link:
type:
- string
- 'null'
posters:
type: array
items:
type: object
properties:
extras:
type: string
description:
type: string
user_id:
type: integer
primary_group_id:
type:
- integer
- 'null'