Linkwarden Tags API
The Tags API from Linkwarden — 2 operation(s) for tags.
The Tags API from Linkwarden — 2 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/linkwarden:linkwarden-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:
description: Linkwarden OpenAPI Documentation.
version: 1.0.0
title: Introduction Tags API
license:
name: GNU Affero General Public License v3.0
url: https://www.gnu.org/licenses/agpl-3.0.html
tags:
- name: Tags
paths:
/api/v1/tags:
get:
security:
- bearerAuth: []
tags:
- Tags
summary: Get a list of tags
description: Retrieves a paginated list of tags and their associated metadata.
operationId: getTags
parameters:
- name: sort
in: query
description: A numeric value to sort the tag results.
required: false
schema:
type: number
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- name: cursor
in: query
description: The pagination cursor for the next batch of tags.
required: false
schema:
type: number
- name: search
in: query
description: A string to filter tags by name.
required: false
schema:
type: string
responses:
'200':
description: Successfully retrieved the list of tags.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: Success
success:
type: boolean
example: true
data:
type: object
properties:
nextCursor:
type:
- number
- 'null'
example: 42
tags:
type: array
items:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: Technology
ownerId:
type: integer
example: 1
createdAt:
type: string
format: date-time
example: '2024-12-02T00:40:22.295Z'
updatedAt:
type: string
format: date-time
example: '2024-12-02T00:40:22.295Z'
_count:
type: object
properties:
links:
type: integer
example: 12
'401':
$ref: '#/components/responses/Unauthorized'
post:
security:
- bearerAuth: []
tags:
- Tags
summary: Create or update tags in bulk
description: Creates tags that do not exist yet and updates archival settings for tags that already exist.
operationId: createTags
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- tags
properties:
tags:
type: array
items:
type: object
required:
- label
properties:
label:
type: string
maxLength: 50
archiveAsScreenshot:
type:
- boolean
- 'null'
archiveAsMonolith:
type:
- boolean
- 'null'
archiveAsPDF:
type:
- boolean
- 'null'
archiveAsReadable:
type:
- boolean
- 'null'
archiveAsWaybackMachine:
type:
- boolean
- 'null'
aiTag:
type:
- boolean
- 'null'
responses:
'200':
description: Tags saved successfully.
content:
application/json:
schema:
type: object
properties:
response:
type: array
items:
type: object
properties:
id:
type: integer
name:
type: string
ownerId:
type: integer
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
_count:
type: object
properties:
links:
type: integer
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
delete:
security:
- bearerAuth: []
tags:
- Tags
summary: Delete tags in bulk
operationId: deleteTagsBulk
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- tagIds
properties:
tagIds:
type: array
items:
type: integer
responses:
'200':
description: Tags deleted successfully.
content:
application/json:
schema:
type: object
properties:
response:
type: integer
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/tags/{id}:
get:
security:
- bearerAuth: []
tags:
- Tags
summary: Get a tag by ID
operationId: getTag
parameters:
- name: id
in: path
required: true
description: The ID of the tag to retrieve.
schema:
type: integer
responses:
'200':
description: Successfully retrieved the tag.
content:
application/json:
schema:
type: object
properties:
response:
type: object
properties:
id:
type: integer
name:
type: string
ownerId:
type: integer
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
_count:
type: object
properties:
links:
type: integer
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- Tags
summary: Update a tag by ID
description: Updates the name of a specific tag by its ID. This is an authenticated route.
operationId: updateTag
parameters:
- name: id
in: path
required: true
description: The ID of the tag to be updated.
schema:
type: integer
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
security:
- bearerAuth: []
responses:
'200':
description: Successfully updated the tag.
content:
application/json:
schema:
type: object
properties:
response:
type: object
properties:
id:
type: integer
name:
type: string
ownerId:
type: integer
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
delete:
tags:
- Tags
summary: Delete a tag by ID
description: Deletes a specific tag by its ID.
operationId: deleteTag
parameters:
- name: id
in: path
required: true
description: The ID of the tag to be deleted.
schema:
type: integer
security:
- bearerAuth: []
responses:
'200':
description: Successfully deleted the tag.
content:
application/json:
schema:
type: object
properties:
response:
type: object
properties:
id:
type: integer
name:
type: string
ownerId:
type: integer
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
components:
responses:
Unauthorized:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
BadRequest:
description: Bad request error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
schemas:
ErrorResponse:
type: object
properties:
response:
type: string
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT