mirror of
https://github.com/sissbruecker/linkding.git
synced 2025-08-06 02:18:26 +02:00
204
docs/API.md
Normal file
204
docs/API.md
Normal file
@@ -0,0 +1,204 @@
|
||||
# API
|
||||
|
||||
The application provides a REST API that can be used by 3rd party applications to manage bookmarks.
|
||||
|
||||
## Authentication
|
||||
|
||||
All requests against the API must be authorized using an authorization token. The application automatically generates an API token for each user, which can be accessed through the *Settings* page.
|
||||
|
||||
The token needs to be passed as `Authorization` header in the HTTP request:
|
||||
|
||||
```
|
||||
Authorization: Token <Token>
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
The following resources are available:
|
||||
|
||||
### Bookmarks
|
||||
|
||||
**List**
|
||||
|
||||
```
|
||||
GET /api/bookmarks/
|
||||
```
|
||||
|
||||
List bookmarks.
|
||||
|
||||
Parameters:
|
||||
|
||||
- `q` - Filters results using a search phrase using the same logic as through the UI
|
||||
- `limit` - Limits the max. number of results. Default is `100`.
|
||||
- `offset` - Index from which to start returning results
|
||||
|
||||
Example response:
|
||||
|
||||
```json
|
||||
{
|
||||
"count": 123,
|
||||
"next": "http://127.0.0.1:8000/api/bookmarks/?limit=100&offset=100",
|
||||
"previous": null,
|
||||
"results": [
|
||||
{
|
||||
"id": 1,
|
||||
"url": "https://example.com",
|
||||
"title": "Example title",
|
||||
"description": "Example description",
|
||||
"website_title": "Website title",
|
||||
"website_description": "Website description",
|
||||
"tag_names": [
|
||||
"tag1",
|
||||
"tag2"
|
||||
],
|
||||
"date_added": "2020-09-26T09:46:23.006313Z",
|
||||
"date_modified": "2020-09-26T16:01:14.275335Z"
|
||||
},
|
||||
...
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
**List Archived**
|
||||
|
||||
```
|
||||
GET /api/bookmarks/archived/
|
||||
```
|
||||
|
||||
List archived bookmarks.
|
||||
|
||||
Parameters and response are the same as for the regular list endpoint.
|
||||
|
||||
**Retrieve**
|
||||
|
||||
```
|
||||
GET /api/bookmarks/<id>/
|
||||
```
|
||||
|
||||
Retrieves a single bookmark by ID.
|
||||
|
||||
**Create**
|
||||
|
||||
```
|
||||
POST /api/bookmarks/
|
||||
```
|
||||
|
||||
Creates a new bookmark. Tags are simply assigned using their names.
|
||||
|
||||
Example payload:
|
||||
|
||||
```json
|
||||
{
|
||||
"url": "https://example.com",
|
||||
"title": "Example title",
|
||||
"description": "Example description",
|
||||
"tag_names": [
|
||||
"tag1",
|
||||
"tag2"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
**Update**
|
||||
|
||||
```
|
||||
PUT /api/bookmarks/<id>/
|
||||
```
|
||||
|
||||
Updates a bookmark. Tags are simply assigned using their names.
|
||||
|
||||
Example payload:
|
||||
|
||||
```json
|
||||
{
|
||||
"url": "https://example.com",
|
||||
"title": "Example title",
|
||||
"description": "Example description",
|
||||
"tag_names": [
|
||||
"tag1",
|
||||
"tag2"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
**Archive**
|
||||
|
||||
```
|
||||
POST /api/bookmarks/<id>/archive/
|
||||
```
|
||||
|
||||
Archives a bookmark.
|
||||
|
||||
**Unarchive**
|
||||
|
||||
```
|
||||
POST /api/bookmarks/<id>/unarchive/
|
||||
```
|
||||
|
||||
Unarchives a bookmark.
|
||||
|
||||
**Delete**
|
||||
|
||||
```
|
||||
DELETE /api/bookmarks/<id>/
|
||||
```
|
||||
|
||||
Deletes a bookmark by ID.
|
||||
|
||||
### Tags
|
||||
|
||||
**List**
|
||||
|
||||
```
|
||||
GET /api/tags/
|
||||
```
|
||||
|
||||
List tags.
|
||||
|
||||
Parameters:
|
||||
|
||||
- `limit` - Limits the max. number of results. Default is `100`.
|
||||
- `offset` - Index from which to start returning results
|
||||
|
||||
Example response:
|
||||
|
||||
```json
|
||||
{
|
||||
"count": 123,
|
||||
"next": "http://127.0.0.1:8000/api/tags/?limit=100&offset=100",
|
||||
"previous": null,
|
||||
"results": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "example",
|
||||
"date_added": "2020-09-26T09:46:23.006313Z"
|
||||
},
|
||||
...
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
**Retrieve**
|
||||
|
||||
```
|
||||
GET /api/tags/<id>/
|
||||
```
|
||||
|
||||
Retrieves a single tag by ID.
|
||||
|
||||
**Create**
|
||||
|
||||
```
|
||||
POST /api/tags/
|
||||
```
|
||||
|
||||
Creates a new tag.
|
||||
|
||||
Example payload:
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "example"
|
||||
}
|
||||
```
|
||||
|
38
docs/Options.md
Normal file
38
docs/Options.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# Options
|
||||
|
||||
This document lists the options that linkding can be configured with and explains how to use them in the individual install scenarios.
|
||||
|
||||
## Using options
|
||||
|
||||
### Docker
|
||||
|
||||
Options are passed as environment variables to the Docker container by using the `-e` argument when using `docker run`. For example:
|
||||
|
||||
```
|
||||
docker run --name linkding -p 9090:9090 -d -e LD_DISABLE_URL_VALIDATION=True sissbruecker/linkding:latest
|
||||
```
|
||||
|
||||
For multiple options, use one `-e` argument per option.
|
||||
|
||||
### Docker-compose
|
||||
|
||||
For docker-compose options are configured using an `.env` file.
|
||||
Follow the docker-compose setup in the README and copy `.env.sample` to `.env`. Then modify the options in `.env`.
|
||||
|
||||
### Manual setup
|
||||
|
||||
All options need to be defined as environment variables in the environment that linkding runs in.
|
||||
|
||||
## List of options
|
||||
|
||||
### `LD_DISABLE_URL_VALIDATION`
|
||||
|
||||
Values: `True`, `False` | Default = `False`
|
||||
|
||||
Completely disables URL validation for bookmarks. This can be useful if you intend to store non fully qualified domain name URLs, such as network paths, or you want to store URLs that use another protocol than `http` or `https`.
|
||||
|
||||
### `LD_REQUEST_TIMEOUT`
|
||||
|
||||
Values: `Integer` as seconds | Default = `60`
|
||||
|
||||
Configures the request timeout in the uwsgi application server. This can be useful if you want to import a bookmark file with a high number of bookmarks and run into request timeouts.
|
@@ -10,7 +10,7 @@ The location of the database file is `data/db.sqlite3` in the application folder
|
||||
If you are using Docker then the full path in the Docker container is `/etc/linkding/data/db.sqlite`.
|
||||
As described in the installation docs, you should mount the `/etc/linkding/data` folder to a folder on your host system, from which you then can execute the backup.
|
||||
|
||||
Below, we describe two methods to create a backup of the database:
|
||||
Below, we describe several methods to create a backup of the database:
|
||||
|
||||
- Manual backup using the export function from the UI
|
||||
- Create a copy of the SQLite databse with the SQLite backup function
|
||||
@@ -23,7 +23,7 @@ Choose the method that fits you best.
|
||||
The least technical option is to use the bookmark export in the UI.
|
||||
Go to the settings page and open the *Data* tab.
|
||||
Then click on the *Download* button to download an HTML file containing all your bookmarks.
|
||||
Then backup this file on a drive, or an online file host.
|
||||
You can backup this file on a drive, or an online file host.
|
||||
|
||||
## Using the SQLite backup function
|
||||
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 296 KiB After Width: | Height: | Size: 304 KiB |
Reference in New Issue
Block a user