Linkwarden Archives API
The Archives API from Linkwarden — 2 operation(s) for archives.
The Archives API from Linkwarden — 2 operation(s) for archives.
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-archives-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 Archives API
license:
name: GNU Affero General Public License v3.0
url: https://www.gnu.org/licenses/agpl-3.0.html
tags:
- name: Archives
paths:
/api/v1/archives/{linkId}:
get:
security:
- bearerAuth: []
tags:
- Archives
summary: Retrieves an archive file by link ID
parameters:
- name: linkId
in: path
required: true
description: The ID of the desired link
schema:
type: string
- name: format
in: query
required: false
description: 'The numeric value corresponding to the format of the file being uploaded:
- `0`: PNG
- `1`: JPEG
- `2`: PDF
- `3`: Readability JSON
- `4` Monolith HTML
'
schema:
type: integer
enum:
- 0
- 1
- 2
- 3
- 4
- name: preview
in: query
required: false
description: Indicates whether to return a preview of the archive.
schema:
type: boolean
responses:
'200':
description: Archive file retrieved successfully.
content:
application/octet-stream:
schema:
type: string
format: binary
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
description: The requested archive file was not found.
content:
application/json:
schema:
type: object
properties:
response:
type: string
description: 'Retrieves an archive file in the specified format.
When `NEXT_PUBLIC_USER_CONTENT_DOMAIN` is configured, browser-style requests for monolith HTML (`format=4`) are rejected on this route unless a bearer token is provided. In that setup, monolith HTML should be loaded through `/api/v1/preserved/token` and `/api/v1/preserved/view` instead.'
operationId: getApiV1ArchivesByLinkId
x-operation-id-source: derived
post:
security:
- bearerAuth: []
tags:
- Archives
summary: Uploads a file to an archive by link ID
parameters:
- name: linkId
in: path
required: true
description: The ID of the desired link
schema:
type: integer
- name: format
in: query
required: true
description: 'The numeric value corresponding to the format of the file being uploaded:
- `0`: PNG
- `1`: JPEG
- `2`: PDF
- `4`: Monolith HTML
'
schema:
type: integer
enum:
- 0
- 1
- 2
- 4
- name: preview
in: query
required: false
description: Indicates whether the uploaded file should be stored as the generated preview instead of the main archive file.
schema:
type: boolean
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
description: The file to upload (PNG, JPEG, PDF, or HTML).
required:
- file
responses:
'200':
description: File successfully uploaded and processed.
content:
application/json:
schema:
type: object
properties:
response:
$ref: '#/components/schemas/Link'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
description: Uploads or replaces a client-side archive file for the specified link.
operationId: postApiV1ArchivesByLinkId
x-operation-id-source: derived
/api/v1/archives:
post:
security:
- bearerAuth: []
tags:
- Archives
summary: Uploads a standalone archive and creates a new link
parameters:
- name: format
in: query
required: true
description: 'The numeric value corresponding to the format of the file being uploaded:
- `0`: PNG
- `1`: JPEG
- `2`: PDF
- `4`: Monolith HTML
'
schema:
type: integer
enum:
- 0
- 1
- 2
- 4
- name: preview
in: query
required: false
description: Indicates whether the uploaded file should be treated as a generated preview instead of the main archive file.
schema:
type: boolean
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
description: The file to upload (PNG, JPEG, PDF, or HTML).
url:
type: string
format: uri
description: Optional source URL used to populate metadata for the newly created link.
required:
- file
responses:
'200':
description: Archive file successfully uploaded and linked.
content:
application/json:
schema:
type: object
properties:
response:
$ref: '#/components/schemas/Link'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
description: Uploads an archive file, creates a new link for it, and stores it in the authenticated user's default collection.
operationId: postApiV1Archives
x-operation-id-source: derived
components:
responses:
Forbidden:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
BadRequest:
description: Bad request error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Unauthorized:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
schemas:
ErrorResponse:
type: object
properties:
response:
type: string
Link:
type: object
properties:
id:
type: integer
example: 4
name:
type: string
example: Example link
type:
type: string
example: url
description:
type: string
example: Some additional thoughts...
createdById:
type: integer
example: 1
collectionId:
type: integer
example: 3
icon:
type:
- string
- 'null'
example: Airplane
iconWeight:
type:
- string
- 'null'
example: fill
enum:
- fill
- bold
- light
- regular
- duotone
- thin
color:
example: '#0ea5e9'
type: string
url:
type: string
example: https://example.com
textContent:
type:
- string
- 'null'
example: Example Domain This domain is for use in illustrative examples in documents. You may use this domain in literature without prior coordination or asking for permission. More information...
preview:
type:
- string
- 'null'
example: archives/preview/3/4.jpeg
image:
type:
- string
- 'null'
example: archives/preview/3/4.jpeg
pdf:
type:
- string
- 'null'
example: archives/preview/3/4.pdf
readable:
type:
- string
- 'null'
example: archives/3/4_readability.json
monolith:
type:
- string
- 'null'
example: unavailable
lastPreserved:
type:
- string
- 'null'
format: date-time
example: '2024-12-02T00:40:22.295Z'
importDate:
type:
- string
- 'null'
example: '2024-12-02T00:40:22.295Z'
createdAt:
type: string
example: '2024-12-02T00:40:22.295Z'
format: date-time
updatedAt:
type: string
example: '2024-12-02T00:40:22.295Z'
format: date-time
tags:
type: array
items:
type: object
properties:
id:
type: integer
example: 2
name:
type: string
example: Technology
ownerId:
type: integer
example: 1
createdAt:
type: string
example: '2024-12-02T00:40:22.295Z'
format: date-time
updatedAt:
type: string
example: '2024-12-02T00:40:22.295Z'
format: date-time
collection:
type: object
properties:
id:
type: integer
example: 3
name:
type: string
example: Health and Wellness
description:
type: string
example: Latest articles on health and wellness.
icon:
type:
- string
- 'null'
description: Acorn
iconWeight:
type:
- string
- 'null'
example: fill
enum:
- fill
- bold
- light
- regular
- duotone
- thin
color:
example: '#0ea5e9'
type: string
parentId:
type:
- integer
- 'null'
example: null
isPublic:
type: boolean
example: false
ownerId:
type: integer
example: 1
createdById:
type: integer
example: 2
createdAt:
type: string
example: '2024-12-02T00:40:22.295Z'
format: date-time
updatedAt:
type: string
example: '2024-12-02T00:40:22.295Z'
format: date-time
pinnedBy:
type: array
items:
type: integer
example:
- 1
- 2
- 3
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT