diff options
Diffstat (limited to '')
64 files changed, 40 insertions, 3223 deletions
diff --git a/docs/versioned_docs/version-v0.24.0/10-import.md b/docs/docs/04-using-karakeep/import.md index 8ca8b1f9..3bf07cae 100644 --- a/docs/versioned_docs/version-v0.24.0/10-import.md +++ b/docs/docs/04-using-karakeep/import.md @@ -1,4 +1,9 @@ -# Importing Bookmarks +--- +sidebar_position: 8 +slug: import +--- + +# Import your library Karakeep supports importing bookmarks using the Netscape HTML Format, Pocket's new CSV format & Omnivore's JSONs. Titles, tags and addition date will be preserved during the import. An automatically created list will contain all the imported bookmarks. @@ -40,7 +45,7 @@ All the URLs in the bookmarks file will be added automatically, you will not be Importing bookmarks using the CLI requires some technical knowledge and might not be very straightforward for non-technical users. Don't hesitate to ask questions in github discussions or discord though. ::: -If you can get your bookmarks in a text file with one link per line, you can use the following command to import them using the [karakeep cli](https://docs.karakeep.app/command-line): +If you can get your bookmarks in a text file with one link per line, you can use the following command to import them using the [karakeep cli](../05-integrations/02-command-line.md): ``` while IFS= read -r url; do diff --git a/docs/versioned_docs/version-v0.24.0/14-Guides/02-search-query-language.md b/docs/docs/04-using-karakeep/search-query-language.md index be9739b4..cdf1f56e 100644 --- a/docs/versioned_docs/version-v0.24.0/14-Guides/02-search-query-language.md +++ b/docs/docs/04-using-karakeep/search-query-language.md @@ -1,3 +1,8 @@ +--- +sidebar_position: 9 +slug: search-query-language +--- + # Search Query Language Karakeep provides a search query language to filter and find bookmarks. Here are all the supported qualifiers and how to use them: @@ -6,8 +11,8 @@ Karakeep provides a search query language to filter and find bookmarks. Here are - Use spaces to separate multiple conditions (implicit AND) - Use `and`/`or` keywords for explicit boolean logic -- Use parentheses `()` for grouping conditions -- Prefix qualifiers with `-` to negate them +- Prefix qualifiers with `-` or `!` to negate them (e.g., `-is:archived` or `!is:archived`) +- Use parentheses `()` for grouping conditions (note that groups can't be negated) ## Qualifiers @@ -20,14 +25,18 @@ Here's a comprehensive table of all supported qualifiers: | `is:tagged` | Bookmarks that has one or more tags | `is:tagged` | | `is:inlist` | Bookmarks that are in one or more lists | `is:inlist` | | `is:link`, `is:text`, `is:media` | Bookmarks that are of type link, text or media | `is:link` | +| `is:broken` | Bookmarks with broken/failed links (crawl failures or non-2xx status codes) | `is:broken` | | `url:<value>` | Match bookmarks with URL substring | `url:example.com` | -| `#<tag>` | Match bookmarks with specific tag | `#important` | -| | Supports quoted strings for tags with spaces | `#"work in progress"` | +| `title:<value>` | Match bookmarks with title substring | `title:example` | +| | Supports quoted strings for titles with spaces | `title:"my title"` | +| `#<tag>` or `tag:<tag>` | Match bookmarks with specific tag | `#important` or `tag:important` | +| | Supports quoted strings for tags with spaces | `#"work in progress"` or `tag:"work in progress"` | | `list:<name>` | Match bookmarks in specific list | `list:reading` | | | Supports quoted strings for list names with spaces | `list:"to review"` | | `after:<date>` | Bookmarks created on or after date (YYYY-MM-DD) | `after:2023-01-01` | | `before:<date>` | Bookmarks created on or before date (YYYY-MM-DD) | `before:2023-12-31` | | `feed:<name>` | Bookmarks imported from a particular rss feed | `feed:Hackernews` | +| `source:<value>` | Match bookmarks from a specific source. Valid values: `api`, `web`, `cli`, `mobile`, `extension`, `singlefile`, `rss`, `import` | `source:rss` `-source:web` | | `age:<time-range>` | Match bookmarks based on how long ago they were created. Use `<` or `>` to indicate the maximum / minimum age of the bookmarks. Supported units: `d` (days), `w` (weeks), `m` (months), `y` (years). | `age:<1d` `age:>2w` `age:<6m` `age:>3y` | ### Examples @@ -41,6 +50,8 @@ is:archived and (list:reading or #work) # Find bookmarks that are not tagged or not in any list -is:tagged or -is:inlist +# Find bookmarks with "React" in the title +title:React ``` ## Combining Conditions @@ -56,6 +67,12 @@ is:archived and (list:reading or #work) # Find bookmarks that are not favorited and not archived -is:fav -is:archived + +# Using ! as an alias for negation +!is:fav !is:archived + +# Using tag: as an alias for # +tag:important tag:"work in progress" ``` ## Text Search diff --git a/docs/versioned_docs/version-v0.24.0/06-openai.md b/docs/docs/06-administration/03-openai.md index 32218da8..9247d065 100644 --- a/docs/versioned_docs/version-v0.24.0/06-openai.md +++ b/docs/docs/06-administration/03-openai.md @@ -1,4 +1,4 @@ -# OpenAI Costs +# Tagging Costs This service uses OpenAI for automatic tagging. This means that you'll incur some costs if automatic tagging is enabled. There are two type of inferences that we do: diff --git a/docs/versioned_docs/version-v0.24.0/01-intro.md b/docs/versioned_docs/version-v0.24.0/01-intro.md deleted file mode 100644 index 7609791e..00000000 --- a/docs/versioned_docs/version-v0.24.0/01-intro.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -slug: / ---- - -# Introduction - -Karakeep (previously Hoarder) is an open source "Bookmark Everything" app that uses AI for automatically tagging the content you throw at it. The app is built with self-hosting as a first class citizen. - - - - -## Features - -- 🔗 Bookmark links, take simple notes and store images and pdfs. -- ⬇️ Automatic fetching for link titles, descriptions and images. -- 📋 Sort your bookmarks into lists. -- 🔎 Full text search of all the content stored. -- ✨ AI-based (aka chatgpt) automatic tagging. With supports for local models using ollama! -- 🎆 OCR for extracting text from images. -- 🔖 [Chrome plugin](https://chromewebstore.google.com/detail/karakeep/kgcjekpmcjjogibpjebkhaanilehneje) and [Firefox addon](https://addons.mozilla.org/en-US/firefox/addon/karakeep/) for quick bookmarking. -- 📱 An [iOS app](https://apps.apple.com/us/app/karakeep-app/id6479258022), and an [Android app](https://play.google.com/store/apps/details?id=app.hoarder.hoardermobile&pcampaignid=web_share). -- 📰 Auto hoarding from RSS feeds. -- 🔌 REST API. -- 🌐 Multi-language support. -- 🖍️ Mark and store highlights from your hoarded content. -- 🗄️ Full page archival (using [monolith](https://github.com/Y2Z/monolith)) to protect against link rot. Auto video archiving using [youtube-dl](https://github.com/marado/youtube-dl). -- ☑️ Bulk actions support. -- 🔐 SSO support. -- 🌙 Dark mode support. -- 💾 Self-hosting first. -- [Planned] Downloading the content for offline reading in the mobile app. - -**⚠️ This app is under heavy development and it's far from stable.** - - -## Demo - -You can access the demo at [https://try.karakeep.app](https://try.karakeep.app). Login with the following creds: - -``` -email: demo@karakeep.app -password: demodemo -``` - -The demo is seeded with some content, but it's in read-only mode to prevent abuse. - -## About the name - -The name Karakeep is inspired by the Arabic word "كراكيب" (karakeeb), a colloquial term commonly used to refer to miscellaneous clutter, odds and ends, or items that may seem disorganized but often hold personal value or hidden usefulness. It evokes the image of a messy drawer or forgotten box, full of stuff you can't quite throw away—because somehow, it matters (or more likely, because you're a hoarder!). diff --git a/docs/versioned_docs/version-v0.24.0/02-Installation/01-docker.md b/docs/versioned_docs/version-v0.24.0/02-Installation/01-docker.md deleted file mode 100644 index c62fbaa5..00000000 --- a/docs/versioned_docs/version-v0.24.0/02-Installation/01-docker.md +++ /dev/null @@ -1,99 +0,0 @@ -# Docker Compose [Recommended] - -### Requirements - -- Docker -- Docker Compose - -### 1. Create a new directory - -Create a new directory to host the compose file and env variables. - -This is where you’ll place the `docker-compose.yml` file from the next step and the environment variables. - -For example you could make a new directory called "karakeep-app" with the following command: -``` -mkdir karakeep-app -``` - - -### 2. Download the compose file - -Download the docker compose file provided [here](https://github.com/karakeep-app/karakeep/blob/main/docker/docker-compose.yml) directly into your new directory. - -``` -wget https://raw.githubusercontent.com/karakeep-app/karakeep/main/docker/docker-compose.yml -``` - -### 3. Populate the environment variables - -To configure the app, create a `.env` file in the directory and add this minimal env file: - -``` -KARAKEEP_VERSION=release -NEXTAUTH_SECRET=super_random_string -MEILI_MASTER_KEY=another_random_string -NEXTAUTH_URL=http://localhost:3000 -``` - -You **should** change the random strings. You can use `openssl rand -base64 36` in a seperate terminal window to generate the random strings. You should also change the `NEXTAUTH_URL` variable to point to your server address. - -Using `KARAKEEP_VERSION=release` will pull the latest stable version. You might want to pin the version instead to control the upgrades (e.g. `KARAKEEP_VERSION=0.10.0`). Check the latest versions [here](https://github.com/karakeep-app/karakeep/pkgs/container/karakeep). - -Persistent storage and the wiring between the different services is already taken care of in the docker compose file. - -Keep in mind that every time you change the `.env` file, you'll need to re-run `docker compose up`. - -If you want more config params, check the config documentation [here](/configuration). - -### 4. Setup OpenAI - -To enable automatic tagging, you'll need to configure OpenAI. This is optional though but highly recommended. - -- Follow [OpenAI's help](https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key) to get an API key. -- Add the OpenAI API key to the env file: - -``` -OPENAI_API_KEY=<key> -``` - -Learn more about the costs of using openai [here](/openai). - -<details> - <summary>If you want to use Ollama (https://ollama.com/) instead for local inference.</summary> - - **Note:** The quality of the tags you'll get will depend on the quality of the model you choose. - - - Make sure ollama is running. - - Set the `OLLAMA_BASE_URL` env variable to the address of the ollama API. - - Set `INFERENCE_TEXT_MODEL` to the model you want to use for text inference in ollama (for example: `llama3.1`) - - Set `INFERENCE_IMAGE_MODEL` to the model you want to use for image inference in ollama (for example: `llava`) - - Make sure that you `ollama pull`-ed the models that you want to use. - - You might want to tune the `INFERENCE_CONTEXT_LENGTH` as the default is quite small. The larger the value, the better the quality of the tags, but the more expensive the inference will be. - -</details> - -### 5. Start the service - -Start the service by running: - -``` -docker compose up -d -``` - -Then visit `http://localhost:3000` and you should be greeted with the Sign In page. - -### [Optional] 6. Enable optional features - -Check the [configuration docs](/configuration) for extra features to enable such as full page archival, full page screenshots, inference languages, etc. - -### [Optional] 7. Setup quick sharing extensions - -Go to the [quick sharing page](/quick-sharing) to install the mobile apps and the browser extensions. Those will help you hoard things faster! - -## Updating - -Updating karakeep will depend on what you used for the `KARAKEEP_VERSION` env variable. - -- If you pinned the app to a specific version, bump the version and re-run `docker compose up -d`. This should pull the new version for you. -- If you used `KARAKEEP_VERSION=release`, you'll need to force docker to pull the latest version by running `docker compose up --pull always -d`. diff --git a/docs/versioned_docs/version-v0.24.0/02-Installation/04-kubernetes.md b/docs/versioned_docs/version-v0.24.0/02-Installation/04-kubernetes.md deleted file mode 100644 index b8c40551..00000000 --- a/docs/versioned_docs/version-v0.24.0/02-Installation/04-kubernetes.md +++ /dev/null @@ -1,112 +0,0 @@ -# Kubernetes - -### Requirements - -- A kubernetes cluster -- kubectl -- kustomize - -### 1. Get the deployment manifests - -You can clone the repository and copy the `/kubernetes` directory into another directory of your choice. - -### 2. Populate the environment variables and secrets - -To configure the app, copy the `.env_sample` to `.env` and change to your specific needs. - -You should also change the `NEXTAUTH_URL` variable to point to your server address. - -Using `KARAKEEP_VERSION=release` will pull the latest stable version. You might want to pin the version instead to control the upgrades (e.g. `KARAKEEP_VERSION=0.10.0`). Check the latest versions [here](https://github.com/karakeep-app/karakeep/pkgs/container/karakeep). - -To see all available configuration options check the [documentation](https://docs.karakeep.app/configuration). - -To configure the neccessary secrets for the application copy the `.secrets_sample` file to `.secrets` and change the sample secrets to your generated secrets. - -> Note: You **should** change the random strings. You can use `openssl rand -base64 36` to generate the random strings. - -### 3. Setup OpenAI - -To enable automatic tagging, you'll need to configure OpenAI. This is optional though but highly recommended. - -- Follow [OpenAI's help](https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key) to get an API key. -- Add the OpenAI API key to the `.env` file: - -``` -OPENAI_API_KEY=<key> -``` - -Learn more about the costs of using openai [here](/openai). - -<details> - <summary>[EXPERIMENTAL] If you want to use Ollama (https://ollama.com/) instead for local inference.</summary> - - **Note:** The quality of the tags you'll get will depend on the quality of the model you choose. Running local models is a recent addition and not as battle tested as using openai, so proceed with care (and potentially expect a bunch of inference failures). - - - Make sure ollama is running. - - Set the `OLLAMA_BASE_URL` env variable to the address of the ollama API. - - Set `INFERENCE_TEXT_MODEL` to the model you want to use for text inference in ollama (for example: `mistral`) - - Set `INFERENCE_IMAGE_MODEL` to the model you want to use for image inference in ollama (for example: `llava`) - - Make sure that you `ollama pull`-ed the models that you want to use. - - -</details> - -### 4. Deploy the service - -Deploy the service by running: - -``` -make deploy -``` - -### 5. Access the service - -#### via LoadBalancer IP - -By default, these manifests expose the application as a LoadBalancer Service. You can run `kubectl get services` to identify the IP of the loadbalancer for your service. - -Then visit `http://<loadbalancer-ip>:3000` and you should be greated with the Sign In page. - -> Note: Depending on your setup you might want to expose the service via an Ingress, or have a different means to access it. - -#### Via Ingress - -If you want to use an ingress, you can customize the sample ingress in the kubernetes folder and change the host to the DNS name of your choice. - -After that you have to configure the web service to the type ClusterIP so it is only reachable via the ingress. - -If you have already deployed the service you can patch the web service to the type ClusterIP with the following command: - -` kubectl -n karakeep patch service web -p '{"spec":{"type":"ClusterIP"}}' ` - -Afterwards you can apply the ingress and access the service via your chosen URL. - -#### Setting up HTTPS access to the Service - -To access karakeep securely you can configure the ingress to use a preconfigured TLS certificate. This requires that you already have the needed files, namely your .crt and .key file, on hand. - -After you have deployed the karakeep manifests you can deploy your certificate for karakeep in the `karakeep` namespace with this example command. You can name the secret however you want. But be aware that the secret name in the ingress definition has to match the secret name. - -` $ kubectl --namespace karakeep create secret tls karakeep-web-tls --cert=/path/to/crt --key=/path/to/key ` - -If the secret is successfully created you can now configure the Ingress to use TLS via this changes to the spec: - -```` yaml - spec: - tls: - - hosts: - - karakeep.example.com - secretName: karakeep-web-tls -```` - -> Note: Be aware that the hosts have to match between the tls spec and the HTTP spec. - -### [Optional] 6. Setup quick sharing extensions - -Go to the [quick sharing page](/quick-sharing) to install the mobile apps and the browser extensions. Those will help you hoard things faster! - -## Updating - -Edit the `KARAKEEP_VERSION` variable in the `kustomization.yaml` file and run `make clean deploy`. - -If you have chosen `release` as the image tag you can also destroy the web pod, since the deployment has an ImagePullPolicy set to always the pod always pulls the image from the registry, this way we can ensure that the newest release image is pulled. diff --git a/docs/versioned_docs/version-v0.24.0/02-Installation/05-pikapods.md b/docs/versioned_docs/version-v0.24.0/02-Installation/05-pikapods.md deleted file mode 100644 index 6cf8afc8..00000000 --- a/docs/versioned_docs/version-v0.24.0/02-Installation/05-pikapods.md +++ /dev/null @@ -1,32 +0,0 @@ -# PikaPods [Paid Hosting] - -:::info -Note: PikaPods shares some of its revenue from hosting Karakeep with the maintainer of this project. -::: - -[PikaPods](https://www.pikapods.com/) offers managed paid hosting for many open source apps, including Karakeep. -Server administration, updates, migrations and backups are all taken care of, which makes it well suited -for less technical users. As of Nov 2024, running Karakeep there will cost you ~$3 per month. - -### Requirements - -- A _PikaPods_ account. Can be created for free [here](https://www.pikapods.com/register). You get an initial welcome credit of $5. - -### 1. Choose app - -Choose _Hoarder_ (Karakeep's old name) from their [list of apps](https://www.pikapods.com/apps) or use this [direct link](https://www.pikapods.com/pods?run=hoarder). This will either -open a new dialog to add a new _Karakeep_ pod or ask you to log in. - -### 2. Add settings - -There are a few settings to configure in the dialog: - -- **Basics**: Give the pod a name and choose a region that's near you. -- **Env Vars**: Here you can disable signups or set an OpenAI API key. All settings are optional. -- **Resources**: The resources your _Karakeep_ pod can use. The defaults are fine, unless you have a very large collection. - -### 3. Start pod and add user - -After hitting _Add pod_ it will take about a minute for the app to fully start. After this you can visit -the pod's URL and add an initial user under _Sign Up_. After this you may want to disable further sign-ups -by setting the pod's `DISABLE_SIGNUPS` _Env Var_ to `true`. diff --git a/docs/versioned_docs/version-v0.24.0/03-configuration.md b/docs/versioned_docs/version-v0.24.0/03-configuration.md deleted file mode 100644 index 5ad43c79..00000000 --- a/docs/versioned_docs/version-v0.24.0/03-configuration.md +++ /dev/null @@ -1,134 +0,0 @@ -# Configuration - -The app is mainly configured by environment variables. All the used environment variables are listed in [packages/shared/config.ts](https://github.com/karakeep-app/karakeep/blob/main/packages/shared/config.ts). The most important ones are: - -| Name | Required | Default | Description | -| ------------------------- | ------------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | -| DATA_DIR | Yes | Not set | The path for the persistent data directory. This is where the db lives. Assets are stored here by default unless `ASSETS_DIR` is set. | -| ASSETS_DIR | No | Not set | The path where crawled assets will be stored. If not set, defaults to `${DATA_DIR}/assets`. | -| NEXTAUTH_URL | Yes | Not set | Should point to the address of your server. The app will function without it, but will redirect you to wrong addresses on signout for example. | -| NEXTAUTH_SECRET | Yes | Not set | Random string used to sign the JWT tokens. Generate one with `openssl rand -base64 36`. | -| MEILI_ADDR | No | Not set | The address of meilisearch. If not set, Search will be disabled. E.g. (`http://meilisearch:7700`) | -| MEILI_MASTER_KEY | Only in Prod and if search is enabled | Not set | The master key configured for meilisearch. Not needed in development environment. Generate one with `openssl rand -base64 36 \| tr -dc 'A-Za-z0-9'` | -| MAX_ASSET_SIZE_MB | No | 50 | Sets the maximum allowed asset size (in MB) to be uploaded | -| DISABLE_NEW_RELEASE_CHECK | No | false | If set to true, latest release check will be disabled in the admin panel. | - -## Authentication / Signup - -By default, Karakeep uses the database to store users, but it is possible to also use OAuth. -The flags need to be provided to the `web` container. - -:::info -Only OIDC compliant OAuth providers are supported! For information on how to set it up, consult the documentation of your provider. -::: - -:::info -When setting up OAuth, the allowed redirect URLs configured at the provider should be set to `<KARAKEEP_ADDRESS>/api/auth/callback/custom` where `<KARAKEEP_ADDRESS>` is the address you configured in `NEXTAUTH_URL` (for example: `https://try.karakeep.app/api/auth/callback/custom`). -::: - -| Name | Required | Default | Description | -| ------------------------------------------- | -------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| DISABLE_SIGNUPS | No | false | If enabled, no new signups will be allowed and the signup button will be disabled in the UI | -| DISABLE_PASSWORD_AUTH | No | false | If enabled, only signups and logins using OAuth are allowed and the signup button and login form for local accounts will be disabled in the UI | -| OAUTH_WELLKNOWN_URL | No | Not set | The "wellknown Url" for openid-configuration as provided by the OAuth provider | -| OAUTH_CLIENT_SECRET | No | Not set | The "Client Secret" as provided by the OAuth provider | -| OAUTH_CLIENT_ID | No | Not set | The "Client ID" as provided by the OAuth provider | -| OAUTH_SCOPE | No | "openid email profile" | "Full list of scopes to request (space delimited)" | -| OAUTH_PROVIDER_NAME | No | "Custom Provider" | The name of your provider. Will be shown on the signup page as "Sign in with `<name>`" | -| OAUTH_ALLOW_DANGEROUS_EMAIL_ACCOUNT_LINKING | No | false | Whether existing accounts in karakeep stored in the database should automatically be linked with your OAuth account. Only enable it if you trust the OAuth provider! | -| OAUTH_TIMEOUT | No | 3500 | The wait time in milliseconds for the OAuth provider response. Increase this if you are having `outgoing request timed out` errors | - -For more information on `OAUTH_ALLOW_DANGEROUS_EMAIL_ACCOUNT_LINKING`, check the [next-auth.js documentation](https://next-auth.js.org/configuration/providers/oauth#allowdangerousemailaccountlinking-option). - -## Inference Configs (For automatic tagging) - -Either `OPENAI_API_KEY` or `OLLAMA_BASE_URL` need to be set for automatic tagging to be enabled. Otherwise, automatic tagging will be skipped. - -:::warning - -- The quality of the tags you'll get will depend on the quality of the model you choose. -- You might want to tune the `INFERENCE_CONTEXT_LENGTH` as the default is quite small. The larger the value, the better the quality of the tags, but the more expensive the inference will be (money-wise on OpenAI and resource-wise on ollama). - ::: - -| Name | Required | Default | Description | -| ------------------------------------ | -------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| OPENAI_API_KEY | No | Not set | The OpenAI key used for automatic tagging. More on that in [here](/openai). | -| OPENAI_BASE_URL | No | Not set | If you just want to use OpenAI you don't need to pass this variable. If, however, you want to use some other openai compatible API (e.g. azure openai service), set this to the url of the API. | -| OLLAMA_BASE_URL | No | Not set | If you want to use ollama for local inference, set the address of ollama API here. | -| OLLAMA_KEEP_ALIVE | No | Not set | Controls how long the model will stay loaded into memory following the request (example value: "5m"). | -| INFERENCE_TEXT_MODEL | No | gpt-4.1-mini | The model to use for text inference. You'll need to change this to some other model if you're using ollama. | -| INFERENCE_IMAGE_MODEL | No | gpt-4o-mini | The model to use for image inference. You'll need to change this to some other model if you're using ollama and that model needs to support vision APIs (e.g. llava). | -| EMBEDDING_TEXT_MODEL | No | text-embedding-3-small | The model to be used for generating embeddings for the text. | -| INFERENCE_CONTEXT_LENGTH | No | 2048 | The max number of tokens that we'll pass to the inference model. If your content is larger than this size, it'll be truncated to fit. The larger this value, the more of the content will be used in tag inference, but the more expensive the inference will be (money-wise on openAI and resource-wise on ollama). Check the model you're using for its max supported content size. | -| INFERENCE_LANG | No | english | The language in which the tags will be generated. | -| INFERENCE_JOB_TIMEOUT_SEC | No | 30 | How long to wait for the inference job to finish before timing out. If you're running ollama without powerful GPUs, you might want to increase the timeout a bit. | -| INFERENCE_FETCH_TIMEOUT_SEC | No | 300 | \[Ollama Only\] The timeout of the fetch request to the ollama server. If your inference requests take longer than the default 5mins, you might want to increase this timeout. | -| INFERENCE_SUPPORTS_STRUCTURED_OUTPUT | No | Not set | \[DEPRECATED\] Whether the inference model supports structured output or not. Use INFERENCE_OUTPUT_SCHEMA instead. Setting this to true translates to INFERENCE_OUTPUT_SCHEMA=structured, and to false translates to INFERENCE_OUTPUT_SCHEMA=plain. | -| INFERENCE_OUTPUT_SCHEMA | No | structured | Possible values are "structured", "json", "plain". Structured is the preferred option, but if your model doesn't support it, you can use "json" if your model supports JSON mode, otherwise "plain" which should be supported by all the models but the model might not output the data in the correct format. | - -:::info - -- You can append additional instructions to the prompt used for automatic tagging, in the `AI Settings` (in the `User Settings` screen) -- You can use the placeholders `$tags`, `$aiTags`, `$userTags` in the prompt. These placeholders will be replaced with all tags, ai generated tags or human created tags when automatic tagging is performed (e.g. `[karakeep, computer, ai]`) - ::: - -## Crawler Configs - -| Name | Required | Default | Description | -| ---------------------------------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| CRAWLER_NUM_WORKERS | No | 1 | Number of allowed concurrent crawling jobs. By default, we're only doing one crawling request at a time to avoid consuming a lot of resources. | -| BROWSER_WEB_URL | No | Not set | The browser's http debugging address. The worker will talk to this endpoint to resolve the debugging console's websocket address. If you already have the websocket address, use `BROWSER_WEBSOCKET_URL` instead. If neither `BROWSER_WEB_URL` nor `BROWSER_WEBSOCKET_URL` are set, the worker will use plain http requests skipping screenshotting and javascript execution. | -| BROWSER_WEBSOCKET_URL | No | Not set | The websocket address of browser's debugging console. If you want to use [browserless](https://browserless.io), use their websocket address here. If neither `BROWSER_WEB_URL` nor `BROWSER_WEBSOCKET_URL` are set, the worker will use plain http requests skipping screenshotting and javascript execution. | -| BROWSER_CONNECT_ONDEMAND | No | false | If set to false, the crawler will proactively connect to the browser instance and always maintain an active connection. If set to true, the browser will be launched on demand only whenever a crawling is requested. Set to true if you're using a service that provides you with browser instances on demand. | -| CRAWLER_DOWNLOAD_BANNER_IMAGE | No | true | Whether to cache the banner image used in the cards locally or fetch it each time directly from the website. Caching it consumes more storage space, but is more resilient against link rot and rate limits from websites. | -| CRAWLER_STORE_SCREENSHOT | No | true | Whether to store a screenshot from the crawled website or not. Screenshots act as a fallback for when we fail to extract an image from a website. You can also view the stored screenshots for any link. | -| CRAWLER_FULL_PAGE_SCREENSHOT | No | false | Whether to store a screenshot of the full page or not. Disabled by default, as it can lead to much higher disk usage. If disabled, the screenshot will only include the visible part of the page | -| CRAWLER_SCREENSHOT_TIMEOUT_SEC | No | 5 | How long to wait for the screenshot finish before timing out. If you are capturing full-page screenshots of long webpages, consider increasing this value. | -| CRAWLER_FULL_PAGE_ARCHIVE | No | false | Whether to store a full local copy of the page or not. Disabled by default, as it can lead to much higher disk usage. If disabled, only the readable text of the page is archived. | -| CRAWLER_JOB_TIMEOUT_SEC | No | 60 | How long to wait for the crawler job to finish before timing out. If you have a slow internet connection or a low powered device, you might want to bump this up a bit | -| CRAWLER_NAVIGATE_TIMEOUT_SEC | No | 30 | How long to spend navigating to the page (along with its redirects). Increase this if you have a slow internet connection | -| CRAWLER_VIDEO_DOWNLOAD | No | false | Whether to download videos from the page or not (using yt-dlp) | -| CRAWLER_VIDEO_DOWNLOAD_MAX_SIZE | No | 50 | The maximum file size for the downloaded video. The quality will be chosen accordingly. Use -1 to disable the limit. | -| CRAWLER_VIDEO_DOWNLOAD_TIMEOUT_SEC | No | 600 | How long to wait for the video download to finish | -| CRAWLER_ENABLE_ADBLOCKER | No | true | Whether to enable an adblocker in the crawler or not. If you're facing troubles downloading the adblocking lists on worker startup, you can disable this. | -| CRAWLER_YTDLP_ARGS | No | [] | Include additional yt-dlp arguments to be passed at crawl time separated by %%: https://github.com/yt-dlp/yt-dlp?tab=readme-ov-file#general-options | - -## OCR Configs - -Karakeep uses [tesseract.js](https://github.com/naptha/tesseract.js) to extract text from images. - -| Name | Required | Default | Description | -| ------------------------ | -------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| OCR_CACHE_DIR | No | $TEMP_DIR | The dir where tesseract will download its models. By default, those models are not persisted and stored in the OS' temp dir. | -| OCR_LANGS | No | eng | Comma separated list of the language codes that you want tesseract to support. You can find the language codes [here](https://tesseract-ocr.github.io/tessdoc/Data-Files-in-different-versions.html). Set to empty string to disable OCR. | -| OCR_CONFIDENCE_THRESHOLD | No | 50 | A number between 0 and 100 indicating the minimum acceptable confidence from tessaract. If tessaract's confidence is lower than this value, extracted text won't be stored. | - -## Webhook Configs - -You can use webhooks to trigger actions when bookmarks are created, changed or crawled. - -| Name | Required | Default | Description | -| ------------------- | -------- | ------- | ------------------------------------------------- | -| WEBHOOK_TIMEOUT_SEC | No | 5 | The timeout for the webhook request in seconds. | -| WEBHOOK_RETRY_TIMES | No | 3 | The number of times to retry the webhook request. | - -:::info - -- The WEBHOOK_TOKEN is used for authentication. It will appear in the Authorization header as Bearer token. - ``` - Authorization: Bearer <WEBHOOK_TOKEN> - ``` -- The webhook will be triggered with the job id (used for idempotence), bookmark id, bookmark type, the user id, the url and the operation in JSON format in the body. - - ```json - { - "jobId": "123", - "type": "link", - "bookmarkId": "exampleBookmarkId", - "userId": "exampleUserId", - "url": "https://example.com", - "operation": "crawled" - } - ``` - - ::: diff --git a/docs/versioned_docs/version-v0.24.0/04-screenshots.md b/docs/versioned_docs/version-v0.24.0/04-screenshots.md deleted file mode 100644 index 07830566..00000000 --- a/docs/versioned_docs/version-v0.24.0/04-screenshots.md +++ /dev/null @@ -1,34 +0,0 @@ -# Screenshots - -## Homepage - - - -## Homepage (Dark Mode) - - - -## Tags - - - -## Lists - - - -## Bookmark Preview - - - -## Settings - - - -## Admin Panel - - - - -## iOS Sharing - -<img src="/img/screenshots/share-sheet.png" width="400px" /> diff --git a/docs/versioned_docs/version-v0.24.0/05-quick-sharing.md b/docs/versioned_docs/version-v0.24.0/05-quick-sharing.md deleted file mode 100644 index e9fa8712..00000000 --- a/docs/versioned_docs/version-v0.24.0/05-quick-sharing.md +++ /dev/null @@ -1,18 +0,0 @@ -# Quick Sharing Extensions - -The whole point of Karakeep is making it easy to hoard the content. That's why there are a couple of - -## Mobile Apps - -<img src="/img/quick-sharing/mobile.png" alt="mobile screenshot" width="300"/> - - -- **iOS app**: [App Store Link](https://apps.apple.com/us/app/karakeep-app/id6479258022). -- **Android App**: [Play Store link](https://play.google.com/store/apps/details?id=app.hoarder.hoardermobile&pcampaignid=web_share). - -## Browser Extensions - -<img src="/img/quick-sharing/extension.png" alt="mobile screenshot" width="300"/> - -- **Chrome extension**: [here](https://chromewebstore.google.com/detail/karakeep/kgcjekpmcjjogibpjebkhaanilehneje). -- **Firefox addon**: [here](https://addons.mozilla.org/en-US/firefox/addon/karakeep/). diff --git a/docs/versioned_docs/version-v0.24.0/07-Development/01-setup.md b/docs/versioned_docs/version-v0.24.0/07-Development/01-setup.md deleted file mode 100644 index 8e139999..00000000 --- a/docs/versioned_docs/version-v0.24.0/07-Development/01-setup.md +++ /dev/null @@ -1,122 +0,0 @@ -# Setup - -## Manual Setup - -Karakeep uses `node` version 22. To install it, you can use `nvm` [^1] - -``` -$ nvm install 22 -``` - -Verify node version using this command: -``` -$ node --version -v22.14.0 -``` - -Karakeep also makes use of `corepack`[^2]. If you have `node` installed, then `corepack` should already be -installed on your machine, and you don't need to do anything. To verify the `corepack` is installed run: - -``` -$ command -v corepack -/home/<user>/.nvm/versions/node/v22.14.0/bin/corepack -``` - -To enable `corepack` run the following command: - -``` -$ corepack enable -``` - -Then install the packages and dependencies using: - -``` -$ pnpm install -``` - -Output of a successful `pnpm install` run should look something like: - -``` -Scope: all 20 workspace projects -Lockfile is up to date, resolution step is skipped -Packages: +3129 -+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -Progress: resolved 0, reused 2699, downloaded 0, added 3129, done - -devDependencies: -+ @karakeep/prettier-config 0.1.0 <- tooling/prettier - -. prepare$ husky -└─ Done in 45ms -Done in 5.5s -``` - -You can now continue with the rest of this documentation. - -### First Setup - -- You'll need to prepare the environment variables for the dev env. -- Easiest would be to set it up once in the root of the repo and then symlink it in each app directory (e.g. `/apps/web`, `/apps/workers`) and also `/packages/db`. -- Start by copying the template by `cp .env.sample .env`. -- The most important env variables to set are: - - `DATA_DIR`: Where the database and assets will be stored. This is the only required env variable. You can use an absolute path so that all apps point to the same dir. - - `NEXTAUTH_SECRET`: Random string used to sign the JWT tokens. Generate one with `openssl rand -base64 36`. Logging in will not work if this is missing! - - `MEILI_ADDR`: If not set, search will be disabled. You can set it to `http://127.0.0.1:7700` if you run meilisearch using the command below. - - `OPENAI_API_KEY`: If you want to enable auto tag inference in the dev env. -- run `pnpm run db:migrate` in the root of the repo to set up the database. - -### Dependencies - -#### Meilisearch - -Meilisearch is the provider for the full text search. You can get it running with `docker run -p 7700:7700 getmeili/meilisearch:v1.11.1`. - -Mount persistent volume if you want to keep index data across restarts. You can trigger a re-index for the entire items collection in the admin panel in the web app. - -#### Chrome - -The worker app will automatically start headless chrome on startup for crawling pages. You don't need to do anything there. - -### Web App - -- Run `pnpm web` in the root of the repo. -- Go to `http://localhost:3000`. - -> NOTE: The web app kinda works without any dependencies. However, search won't work unless meilisearch is running. Also, new items added won't get crawled/indexed unless workers are running. - -### Workers - -- Run `pnpm workers` in the root of the repo. - -### iOS Mobile App - -- `cd apps/mobile` -- `pnpm exec expo prebuild --no-install` to build the app. -- Start the ios simulator. -- `pnpm exec expo run:ios` -- The app will be installed and started in the simulator. - -Changing the code will hot reload the app. However, installing new packages requires restarting the expo server. - -### Browser Extension - -- `cd apps/browser-extension` -- `pnpm dev` -- This will generate a `dist` package -- Go to extension settings in chrome and enable developer mode. -- Press `Load unpacked` and point it to the `dist` directory. -- The plugin will pop up in the plugin list. - -In dev mode, opening and closing the plugin menu should reload the code. - - -## Docker Dev Env - -If the manual setup is too much hassle for you. You can use a docker based dev environment by running `docker compose -f docker/docker-compose.dev.yml up` in the root of the repo. This setup wasn't super reliable for me though. - - -[^1]: [nvm](https://github.com/nvm-sh/nvm) is a node version manager. You can install it following [these -instructions](https://github.com/nvm-sh/nvm?tab=readme-ov-file#installing-and-updating). - -[^2]: [corepack](https://nodejs.org/api/corepack.html) is an experimental tool to help with managing versions of your -package managers. diff --git a/docs/versioned_docs/version-v0.24.0/07-Development/03-database.md b/docs/versioned_docs/version-v0.24.0/07-Development/03-database.md deleted file mode 100644 index 40e2d164..00000000 --- a/docs/versioned_docs/version-v0.24.0/07-Development/03-database.md +++ /dev/null @@ -1,11 +0,0 @@ -# Database Migrations - -- The database schema lives in `packages/db/schema.ts`. -- Changing the schema, requires a migration. -- You can generate the migration by running `pnpm drizzle-kit generate:sqlite` in the `packages/db` dir. -- You can then apply the migration by running `pnpm run migrate`. - - -## Drizzle Studio - -You can start the drizzle studio by running `pnpm db:studio` in the root of the repo. diff --git a/docs/versioned_docs/version-v0.24.0/07-Development/04-architecture.md b/docs/versioned_docs/version-v0.24.0/07-Development/04-architecture.md deleted file mode 100644 index 5a864034..00000000 --- a/docs/versioned_docs/version-v0.24.0/07-Development/04-architecture.md +++ /dev/null @@ -1,9 +0,0 @@ -# Architecture - - - -- Webapp: NextJS based using sqlite for data storage. -- Workers: Consume the jobs from sqlite based job queue and executes them, there are three job types: - 1. Crawling: Fetches the content of links using a headless chrome browser running in the workers container. - 2. OpenAI: Uses OpenAI APIs to infer the tags of the content. - 3. Indexing: Indexes the content in meilisearch for faster retrieval during search. diff --git a/docs/versioned_docs/version-v0.24.0/08-security-considerations.md b/docs/versioned_docs/version-v0.24.0/08-security-considerations.md deleted file mode 100644 index 5a295526..00000000 --- a/docs/versioned_docs/version-v0.24.0/08-security-considerations.md +++ /dev/null @@ -1,14 +0,0 @@ -# Security Considerations - -If you're going to give app access to untrusted users, there's some security considerations that you'll need to be aware of given how the crawler works. The crawler is basically running a browser to fetch the content of the bookmarks. Any untrusted user can submit bookmarks to be crawled from your server and they'll be able to see the crawling result. This can be abused in multiple ways: - -1. Untrusted users can submit crawl requests to websites that you don't want to be coming out of your IPs. -2. Crawling user controlled websites can expose your origin IP (and location) even if your service is hosted behind cloudflare for example. -3. The crawling requests will be coming out from your own network, which untrusted users can leverage to crawl internal non-internet exposed endpoints. - -To mitigate those risks, you can do one of the following: - -1. Limit access to trusted users -2. Let the browser traffic go through some VPN with restricted network policies. -3. Host the browser container outside of your network. -4. Use a hosted browser as a service (e.g. [browserless](https://browserless.io)). Note: I've never used them before. diff --git a/docs/versioned_docs/version-v0.24.0/09-command-line.md b/docs/versioned_docs/version-v0.24.0/09-command-line.md deleted file mode 100644 index a7b7fc87..00000000 --- a/docs/versioned_docs/version-v0.24.0/09-command-line.md +++ /dev/null @@ -1,109 +0,0 @@ -# Command Line Tool (CLI) - -Karakeep comes with a simple CLI for those users who want to do more advanced manipulation. - -## Features - -- Manipulate bookmarks, lists and tags -- Mass import/export of bookmarks - -## Installation (NPM) - -``` -npm install -g @karakeep/cli -``` - - -## Installation (Docker) - -``` -docker run --rm ghcr.io/karakeep-app/karakeep-cli:release --help -``` - -## Usage - -``` -karakeep -``` - -``` -Usage: karakeep [options] [command] - -A CLI interface to interact with the karakeep api - -Options: - --api-key <key> the API key to interact with the API (env: KARAKEEP_API_KEY) - --server-addr <addr> the address of the server to connect to (env: KARAKEEP_SERVER_ADDR) - -V, --version output the version number - -h, --help display help for command - -Commands: - bookmarks manipulating bookmarks - lists manipulating lists - tags manipulating tags - whoami returns info about the owner of this API key - help [command] display help for command -``` - -And some of the subcommands: - -``` -karakeep bookmarks -``` - -``` -Usage: karakeep bookmarks [options] [command] - -Manipulating bookmarks - -Options: - -h, --help display help for command - -Commands: - add [options] creates a new bookmark - get <id> fetch information about a bookmark - update [options] <id> updates bookmark - list [options] list all bookmarks - delete <id> delete a bookmark - help [command] display help for command - -``` - -``` -karakeep lists -``` - -``` -Usage: karakeep lists [options] [command] - -Manipulating lists - -Options: - -h, --help display help for command - -Commands: - list lists all lists - delete <id> deletes a list - add-bookmark [options] add a bookmark to list - remove-bookmark [options] remove a bookmark from list - help [command] display help for command -``` - -## Optaining an API Key - -To use the CLI, you'll need to get an API key from your karakeep settings. You can validate that it's working by running: - -``` -karakeep --api-key <key> --server-addr <addr> whoami -``` - -For example: - -``` -karakeep --api-key mysupersecretkey --server-addr https://try.karakeep.app whoami -{ - id: 'j29gnbzxxd01q74j2lu88tnb', - name: 'Test User', - email: 'test@gmail.com' -} -``` diff --git a/docs/versioned_docs/version-v0.24.0/11-FAQ.md b/docs/versioned_docs/version-v0.24.0/11-FAQ.md deleted file mode 100644 index 34cd5491..00000000 --- a/docs/versioned_docs/version-v0.24.0/11-FAQ.md +++ /dev/null @@ -1,60 +0,0 @@ -# Frequently Asked Questions (FAQ)
-
-## User Management
-
-### Lost password
-
-#### If you are not an administrator
-
-Administrators can reset the password of any user. Contact an administrator to reset the password for you.
-
-* Navigate to the `Admin Settings` page
-* Find the user in the `Users List`
-* In the `Actions` column, there is a button to reset the password
-* Enter a new password and press `Reset`
-* The new password is now set
-* If required, you can change your password again (so the admin does not know your password) in the `User Settings`
-
-#### If you are an administrator
-
-If you are an administrator and lost your password, you have to reset the password in the database.
-
-To reset the password:
-
-* Acquire some kind of tools that helps you to connect to the database:
- * `sqlite3` on Linux: run `apt-get install sqlite3` (depending on your package manager)
- * e.g. `dbeaver` on Windows
-* Shut down Karakeep
-* Connect to the `db.db` database, which is located in the `data` directory you have mounted to your docker container:
- * by e.g. running `sqlite3 db.db` (in your `data` directory)
- * or going through e.g. the `dbeaver` UI to locate the file in the data directory and connecting to it
-* Update the password in the database by running:
- * `update user set password='$2a$10$5u40XUq/cD/TmLdCOyZ82ePENE6hpkbodJhsp7.e/BgZssUO5DDTa' where email='<YOUR_EMAIL_HERE>';`
- * (don't forget to put your email address into the command)
-* The new password for your user is now `adminadmin`.
-* Start Karakeep again
-* Log in with your email address and the password `adminadmin` and change the password to whatever you want in the `User Settings`
-
-### Adding another administrator
-
-By default, the first user to sign up gets promoted to administrator automatically.
-
-In case you want to grant those permissions to another user:
-
-* Navigate to the `Admin Settings` page
-* Find the user in the `Users List`
-* In the `Actions` column, there is a button to change the Role
-* Change the Role to `Admin`
-* Press `Change`
-* The new administrator has to log out and log in again to get the new role assigned
-
-### Adding new users, when signups are disabled
-
-Administrators can create new accounts any time:
-
-* Navigate to the `Admin Settings` page
-* Go to the `Users List`
-* Press the `Create User` Button.
-* Enter the information for the user
-* Press `create`
-* The new user can now log in
diff --git a/docs/versioned_docs/version-v0.24.0/12-troubleshooting.md b/docs/versioned_docs/version-v0.24.0/12-troubleshooting.md deleted file mode 100644 index 7b086440..00000000 --- a/docs/versioned_docs/version-v0.24.0/12-troubleshooting.md +++ /dev/null @@ -1,33 +0,0 @@ -# Troubleshooting - -## SqliteError: no such table: user - -This usually means that there's something wrong with the database setup (more concretely, it means that the database is not initialized). This can be caused by multiple problems: -1. **Wiped DATA_DIR:** Your `DATA_DIR` got wiped (or the backing storage dir changed). If you did this intentionally, restart the container so that it can re-initalize the database. -2. **Missing DATA_DIR**: You're not using the default docker compose file, and you forgot to configure the `DATA_DIR` env var. This will result into the database getting set up in a different directory than the one used by the service. - -## Chrome Failed to Read DnsConfig - -If you see this error in the logs of the chrome container, it's a benign error and you can safely ignore it. Whatever problems you're having, is unrelated to this error. - -## AI Tagging not working (when using OpenAI) - -Check the logs of the container and this will usually tell you what's wrong. Common problems are: -1. Typo in the env variable `OPENAI_API_KEY` name resulting into logs saying something like "skipping inference as it's not configured". -2. You forgot to call `docker compose up` after configuring open ai. -3. OpenAI requires pre-charging the account with credits before using it, otherwise you'll get an error like "insufficient funds". - -## AI Tagging not working (when using Ollama) - -Check the logs of the container and this will usually tell you what's wrong. Common problems are: -1. Typo in the env variable `OLLAMA_BASE_URL` name resulting into logs saying something like "skipping inference as it's not configured". -2. You forgot to call `docker compose up` after configuring ollama. -3. You didn't change the `INFERENCE_TEXT_MODEL` env variable, resulting into karakeep attempting to use gpt models with ollama which won't work. -4. Ollama server is not reachable by the karakeep container. This can be caused by: - 1. Ollama server being in a different docker network than the karakeep container. - 2. You're using `localhost` as the `OLLAMA_BASE_URL` instead of the actual address of the ollama server. `localhost` points to the container itself, not the docker host. Check this [stackoverflow answer](https://stackoverflow.com/questions/24319662/from-inside-of-a-docker-container-how-do-i-connect-to-the-localhost-of-the-mach) to find how to correctly point to the docker host address instead. - -## Crawling not working - -Check the logs of the container and this will usually tell you what's wrong. Common problems are: -1. You changed the name of the chrome container but didn't change the `BROWSER_WEB_URL` env variable. diff --git a/docs/versioned_docs/version-v0.24.0/13-community-projects.md b/docs/versioned_docs/version-v0.24.0/13-community-projects.md deleted file mode 100644 index e2781416..00000000 --- a/docs/versioned_docs/version-v0.24.0/13-community-projects.md +++ /dev/null @@ -1,47 +0,0 @@ -# Community Projects - -This page lists community projects that are built around Karakeep, but not officially supported by the development team. - -:::warning -This list comes with no guarantees about security, performance, reliability, or accuracy. Use at your own risk. -::: - -### Raycast Extension - -_By [@luolei](https://github.com/foru17)._ - -A user-friendly Raycast extension that seamlessly integrates with Karakeep, bringing powerful bookmark management to your fingertips. Quickly save, search, and organize your bookmarks, texts, and images—all through Raycast's intuitive interface. - -Get it [here](https://www.raycast.com/luolei/hoarder). - -### Alfred Workflow - -_By [@yinan-c](https://github.com/yinan-c)_ - -An Alfred workflow to quickly hoard stuff or access your hoarded bookmarks! - -Get it [here](https://www.alfredforum.com/topic/22528-hoarder-workflow-for-self-hosted-bookmark-management/). - -### Obsidian Plugin - -_By [@jhofker](https://github.com/jhofker)_ - -An Obsidian plugin that syncs your Karakeep bookmarks with Obsidian, creating markdown notes for each bookmark in a designated folder. - -Get it [here](https://github.com/jhofker/obsidian-hoarder/), or install it directly from Obsidian's community plugin store ([link](https://obsidian.md/plugins?id=hoarder-sync)). - -### Telegram Bot - -_By [@Madh93](https://github.com/Madh93)_ - -A Telegram Bot for saving bookmarks to Karakeep directly through Telegram. - -Get it [here](https://github.com/Madh93/karakeepbot). - -### Hoarder's Pipette - -_By [@DanSnow](https://github.com/DanSnow)_ - -A chrome extension that injects karakeep's bookmarks into your search results. - -Get it [here](https://dansnow.github.io/hoarder-pipette/guides/installation/). diff --git a/docs/versioned_docs/version-v0.24.0/14-Guides/03-singlefile.md b/docs/versioned_docs/version-v0.24.0/14-Guides/03-singlefile.md deleted file mode 100644 index bc4acb64..00000000 --- a/docs/versioned_docs/version-v0.24.0/14-Guides/03-singlefile.md +++ /dev/null @@ -1,30 +0,0 @@ -# Using Karakeep with SingleFile Extension - -Karakeep supports being a destination for the [SingleFile extension](https://github.com/gildas-lormeau/SingleFile). This has the benefit of allowing you to use the singlefile extension to hoard links as you're seeing them in the browser. This is perfect for websites that don't like to get crawled, has annoying cookie banner or require authentication. - -## Setup - -1. Install the [SingleFile extension](https://github.com/gildas-lormeau/SingleFile). -2. In the extension settings, select `Destinations`. -3. Select `upload to a REST Form API`. -4. In the URL, insert the address: `https://YOUR_SERVER_ADDRESS/api/v1/bookmarks/singlefile`. -5. In the `authorization token` field, paste an API key that you can get from your karakeep settings. -6. Set `data field name` to `file`. -7. Set `URL field name` to `url`. - -Now, go to any page and click the singlefile extension icon. Once it's done with the upload, the bookmark should show up in your karakeep instance. Note that the singlefile extension doesn't show any progress on the upload. Given that archives are typically large, it might take 30+ seconds until the upload is done and starts showing up in Karakeep. - - -## Recommended settings - -In the singlefile extension, you probably will want to change the following settings for better experience: -* Stylesheets > compress CSS content: on -* Stylesheets > group duplicate stylesheets together: on -* HTML content > remove frames: on - -Also, you most likely will want to change the default `MAX_ASSET_SIZE_MB` in karakeep to something higher, for example `100`. - -:::info -Currently, we don't support screenshots for singlefile uploads, but this will change in the future. -::: - diff --git a/docs/versioned_docs/version-v0.24.0/14-Guides/04-hoarder-to-karakeep-migration.md b/docs/versioned_docs/version-v0.24.0/14-Guides/04-hoarder-to-karakeep-migration.md deleted file mode 100644 index 289a091c..00000000 --- a/docs/versioned_docs/version-v0.24.0/14-Guides/04-hoarder-to-karakeep-migration.md +++ /dev/null @@ -1,28 +0,0 @@ -# Hoarder to Karakeep Migration - -Hoarder is rebranding to Karakeep. Due to github limitations, the old docker image might not be getting new updates after the rebranding. You might need to update your docker image to point to the new karakeep image instead by applying the following change in the docker compose file. - -```diff -diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml -index cdfc908..6297563 100644 ---- a/docker/docker-compose.yml -+++ b/docker/docker-compose.yml -@@ -1,7 +1,7 @@ - version: "3.8" - services: - web: -- image: ghcr.io/hoarder-app/hoarder:${HOARDER_VERSION:-release} -+ image: ghcr.io/karakeep-app/karakeep:${HOARDER_VERSION:-release} -``` - -You can also change the `HOARDER_VERSION` environment variable but if you do so remember to change it in the `.env` file as well. - -## Migrating a Baremetal Installation - -If you previously used the [Debian/Ubuntu install script](https://docs.karakeep.app/Installation/debuntu) to install Hoarder, there is an option to migrate your installation to Karakeep. - -```bash -bash karakeep-linux.sh migrate -``` - -This will migrate your installation with no user input required. After the migration, the script will also check for an update. diff --git a/docs/versioned_docs/version-v0.24.0/14-Guides/05-different-ai-providers.md b/docs/versioned_docs/version-v0.24.0/14-Guides/05-different-ai-providers.md deleted file mode 100644 index 33408c00..00000000 --- a/docs/versioned_docs/version-v0.24.0/14-Guides/05-different-ai-providers.md +++ /dev/null @@ -1,66 +0,0 @@ -# Configuring different AI Providers - -Karakeep uses LLM providers for AI tagging and summarization. We support OpenAI-compatible providers and ollama. This guide will show you how to configure different providers. - -## OpenAI - -If you want to use OpenAI itself, you just need to pass in the OPENAI_API_KEY environment variable. - -``` -OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - -# You can change the default models by uncommenting the following lines, and choosing your model. -# INFERENCE_TEXT_MODEL=gpt-4.1-mini -# INFERENCE_IMAGE_MODEL=gpt-4o-mini -``` - -## Ollama - -Ollama is a local LLM provider that you can use to run your own LLM server. You'll need to pass ollama's address to karakeep and you need to ensure that it's accessible from within the karakeep container (e.g. no localhost addresses). - -``` -# MAKE SURE YOU DON'T HAVE OPENAI_API_KEY set, otherwise it takes precedence. - -OLLAMA_BASE_URL=http://ollama.mylab.com:11434 - -# Make sure to pull the models in ollama first. Example models: -INFERENCE_TEXT_MODEL=gemma3 -INFERENCE_IMAGE_MODEL=llava - -# If the model you're using doesn't support structured output, you also need: -# INFERENCE_OUTPUT_SCHEMA=plain -``` - -## Gemini - -Gemini has an OpenAI-compatible API. You need to get an api key from Google AI Studio. - -``` - -OPENAI_BASE_URL=https://generativelanguage.googleapis.com/v1beta -OPENAI_API_KEY=YOUR_API_KEY - -# Example models: -INFERENCE_TEXT_MODEL=gemini-2.0-flash -INFERENCE_IMAGE_MODEL=gemini-2.0-flash -``` - -## OpenRouter - -``` -OPENAI_BASE_URL=https://openrouter.ai/api/v1 -OPENAI_API_KEY=YOUR_API_KEY - -# Example models: -INFERENCE_TEXT_MODEL=meta-llama/llama-4-scout -INFERENCE_IMAGE_MODEL=meta-llama/llama-4-scout -``` - -## Perplexity - -``` -OPENAI_BASE_URL: https://api.perplexity.ai -OPENAI_API_KEY: Your Perplexity API Key -INFERENCE_TEXT_MODEL: sonar-pro -INFERENCE_IMAGE_MODEL: sonar-pro -``` diff --git a/docs/versioned_docs/version-v0.24.0/API/add-a-bookmark-to-a-list.api.mdx b/docs/versioned_docs/version-v0.24.0/API/add-a-bookmark-to-a-list.api.mdx deleted file mode 100644 index 45420ed5..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/add-a-bookmark-to-a-list.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: add-a-bookmark-to-a-list -title: "Add a bookmark to a list" -description: "Add the bookmarks to a list" -sidebar_label: "Add a bookmark to a list" -hide_title: true -hide_table_of_contents: true -api: eJzNVE1v2zAM/SsCTxug1enQYYVv2WFAt2EothQ7BD4wFhOrsS1Vkttkhv77QNnNR5t1l2HYybb8KD4+PrIHRb502gZtWshhqpQIFYmFMesG3dqLYASKWvsAEgKuPORz+KJ98FBI8FR2Toct5PMeFoSO3LQLFeTzIhYSLDpsKJDzCeDLihqEvIewtQQ5+OB0uwIJtMHG1nykSat6s101D7eX783m57tqE4IpLzm7DgnC2a8URAmO7jrtSEEeXEcSWmwYUA8ACZpLshgqiPKvpf8wSvMihcUedESj4AhvTevJM5O3kwt+HDfhqxGlaQO1Qbw56oZ4QC9QKUqpLyaT57GP7ATWjlBthW4fuzfeyTFoba1L5Jjs1nPgCXnM4pZKDrTOWHJBD5RLo+i5iFFCQ97j6tS/I53mww17fBFjTOWckIJ7LYzbK9CaIJama9X/XlCKD5VR3PsuZWUH5JBxO3zWDy6N2W7Usn7vmgg8XO7+cXQ6V0MOPSrlyPuYodXZ/TlIuEencVEPlYy/BxmX2NUBcqhCsD7PsuC2Z2t0uCayZ2gtyCdazyoS4w3CLJPxPo94MXCBGOPB1H9ngYfMh7O/U4szcx0JxkORQCDHl4/GNcgMP/2YJUl1uzQczlUPlM7PJmeTg9nb8ZleX53kP72+EkvjjslzsVGCNT40mKwxTilvO9x763DVHV3d7632pw05VB5oEzJbo245cWpeP/Z/ntaTBwn5bk/t7uLTg9VRSKiMDxzU9wv0dOPqGPn4riPHW7fYOyD5RGnP7wryJdaeXqjj1bfRwK/F73iPh9huk9Hqjr9Awpq2+y3Lm/UfZj1QJxZRQkWoyKXaB8C0LMmGg9Bnq4EtvBvN65sZSMBj4z4xarr9JK2+HxAzs6Y2xh3LwN9MMMZf8DSFoA== -sidebar_class_name: "put api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Add a bookmark to a list"} -> -</Heading> - -<MethodEndpoint - method={"put"} - path={"/lists/{listId}/bookmarks/{bookmarkId}"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Add the bookmarks to a list - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={[{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"ListId"},"required":true,"name":"listId","in":"path"},{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"BookmarkId"},"required":true,"name":"bookmarkId","in":"path"}]} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={undefined} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"204":{"description":"No content - the bookmark was added"},"400":{"description":"Bookmark already in list","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}},"404":{"description":"List or bookmark not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/attach-asset.api.mdx b/docs/versioned_docs/version-v0.24.0/API/attach-asset.api.mdx deleted file mode 100644 index 00146e1f..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/attach-asset.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: attach-asset -title: "Attach asset" -description: "Attach a new asset to a bookmark" -sidebar_label: "Attach asset" -hide_title: true -hide_table_of_contents: true -api: eJztVcFu2zgQ/RVhTi3AjZJFF1vo5hYtkN3DBo2LHgwdxuLYYiyRLEnF9gr892IoOZIbN+ihx14EafQ4nPf4ZtiDJF85ZYMyGgpYhIBVnWGmaZ+h9xSyYDLM1sbsWnQ7EBBw66FYwbsx5KEU4KnqnApHKFY9rAkduUUXaihWZSwFWHTYUiDnE8BXNbUIRQ/haAkK8MEpvQUBdMDWNhxSpGRzOG7b/cPbv83h/7/qQwimessVqJAgpwpuJUQBjr52ypGEIriOBGhsGbSeQAIUc7QYauCqeAX58M7II9dyrsSyppkASRYQUBkdSAeGo7WNqpDh+YPnNReImfUDVQEEWGcsuaDI818ln5OPAtJ+yxS9II3uWtbdV45I+9pw2rTifh5Zo9bkblvcEgjYdE1zh1tauKpWjxx5VJIM40ZdFpwhFUiVw31DcsJ2eqfNXkMZz/Rdcf3zassYB4S3RvuB4p/XNz8QNWlJclD3t6Yva/rm+s1zGU/Gz7QJ2cZ0Wv46GSsjL0gVBbTkPQvw/N93RFKGCZ+IpPWhNpL7z/i0LbdhAflJNJ/3U6/GPCnhgUeLezwNjs41UECPUjryPuZoVf54wyeATuG6GSiMvwfdNtg1AQqoQ7C+yPPgjlc7dLgjsldoLYhLHh0yZGaThZqyf0d8NtQCMcbZzLtnZYed55PvSSbemXkkGE+kBGK7pJePxrXIFf7zZZm05BP7NI2mD6eROFh8Mu/M2XMDRx5zG8N41m0gdXN1fXU9G51PjBZ3txcVWNzdZhvjzumzXFGkA2wxuWocsqdrY/T9Wbp+cuZPXS8DoUCHkNsGleYd07n3o2VWT33G9ijOBvzomlJAzS4rVtD3a/T02TUxcvhrR45vqXLyTHKWVJ7fJRQbbDy9wOHVp9Hrr7MflTsGUR+TNZuOv0DAjo7nN1Iso4CaUJJLVQyA98Nef6SznRI86+ooTisWVUU2vIgtZx1499/9Mo2r4eJrU8uDwz2I9EzFmsQ92TrFemhQb7s0AmDIyW7Fc7N/Z+7E6qIcfT8glmZHOsYndQJ/szAxfgPFevk9 -sidebar_class_name: "post api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Attach asset"} -> -</Heading> - -<MethodEndpoint - method={"post"} - path={"/bookmarks/{bookmarkId}/assets"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Attach a new asset to a bookmark - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={[{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"BookmarkId"},"required":true,"name":"bookmarkId","in":"path"}]} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={{"description":"The asset to attach","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"assetType":{"type":"string","enum":["screenshot","assetScreenshot","bannerImage","fullPageArchive","video","bookmarkAsset","precrawledArchive","unknown"]}},"required":["id","assetType"]}}}}} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"201":{"description":"The attached asset","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"assetType":{"type":"string","enum":["screenshot","assetScreenshot","bannerImage","fullPageArchive","video","bookmarkAsset","precrawledArchive","unknown"]}},"required":["id","assetType"]}}}},"404":{"description":"Bookmark not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/attach-tags-to-a-bookmark.api.mdx b/docs/versioned_docs/version-v0.24.0/API/attach-tags-to-a-bookmark.api.mdx deleted file mode 100644 index 426301a6..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/attach-tags-to-a-bookmark.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: attach-tags-to-a-bookmark -title: "Attach tags to a bookmark" -description: "Attach tags to a bookmark" -sidebar_label: "Attach tags to a bookmark" -hide_title: true -hide_table_of_contents: true -api: eJytVU2P0zAQ/SvRnEAyTUEgUG4FgbQgwQqKOFQ9TJNp420SG3uytET572icr5aWFUL0UCXO83jmzZvnBjLyqdOWtakggQUzpnnEuPMRmwijjTH7Et0eFMgiJCt43S95WCvwlNZO8xGSVQMbQkduUXMOyWrdrhVYdFgSk/MB4NOcSoSkAT5aggQ8O13tQAEdsLSFLGnSWXE47sofd69emsPPF/mB2aSvJAPNATJkcJNBq8DR91o7yiBhV5OCCksBbSaQAi3FWeQcJCvZQZ5fm+wouZxTsMxpqj/QMQMFqamYKhY4WlvoFAUe33nZc6Uws7mjlEGBdcaSY00+fA0cjih0Do+SHlPp/2r3TXbJXht68zGUffFNfqccrboc1sO6t6byXfhn8/l1OgrtOTLbng7KhJ9IZ/7/8TJE/gtu/k0yy0DdBRfjuT0fz+fPLykY5BZVhqOtqavs/xWemuxa1xSU5D3urnb0vIQQYcKv+46XxLnJRPXGh2NF/AnEw1j4uJkmpI2DKGSc3f0wrLUrIIEGs8yR922MVsf3T0HBPTqNm6LvXPe5Y22LdcGQQM5sfRLH7I6zPTrcE9kZWgvqirr6CCIwzin60OOjLhfp2YnPfBFeu5NP3WYkSU6WOgJMXCCAQPUP74wrUTJ8/20ZmJR+fZ7s4O2gqWFUV+PUTcIbh21syboVi9ka2Sf8dcU9nc1n8xMNjpUtbm+uMrG4vYm2xp3TILS1KrSxxKCt3uAe8uqz2M0k1ocNvqOQ6cCxLVBXcm5QQdPLZzW6qoglObPYzlYU5KK3ZAVNs0FPX13RtrL8vSYnt8R60k9gN9NenjNItlh4eiD1R5971T+O/pTsYB3VMci0qOUNFOzpeH4jhI7lhBm5kEUHeNOd9WQpYaYAF/PdqmHHIk3J8oPY9cks3n76shQt9hdPGYYfHP4AFf5DsibUHiQe1hoosNrVwQygiynKxXPh/yb0TrnX6GiaDrE0e6radmSH5V2IadtfmYTHdA== -sidebar_class_name: "post api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Attach tags to a bookmark"} -> -</Heading> - -<MethodEndpoint - method={"post"} - path={"/bookmarks/{bookmarkId}/tags"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Attach tags to a bookmark - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={[{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"BookmarkId"},"required":true,"name":"bookmarkId","in":"path"}]} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={{"description":"The tags to attach.","content":{"application/json":{"schema":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"object","properties":{"tagId":{"type":"string"},"tagName":{"type":"string"}}}}},"required":["tags"]}}}}} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"200":{"description":"The list of attached tag ids","content":{"application/json":{"schema":{"type":"object","properties":{"attached":{"type":"array","items":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"TagId"}}},"required":["attached"]}}}},"404":{"description":"Bookmark not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/create-a-new-bookmark.api.mdx b/docs/versioned_docs/version-v0.24.0/API/create-a-new-bookmark.api.mdx deleted file mode 100644 index e34accec..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/create-a-new-bookmark.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: create-a-new-bookmark -title: "Create a new bookmark" -description: "Create a new bookmark" -sidebar_label: "Create a new bookmark" -hide_title: true -hide_table_of_contents: true -api: eJzVWMFu4zYQ/RVjzmrsLHrSzVl0gXTbbtCk6MHQYSyNLa4lUktSTlxB/14MyUiyIydysyhaBAhkcYYcPr4ZvlEDGZlUi8oKJSGGj5rQ0gxnkh5na6V2JeodRGBxayBewU14ZSCJwFBaa2EPEK8aWBNq0sva5hCvkjaJQNO3moy9UdkB4uZkoYecuvlnVs1StzBEkCppSVr2wKoqRIrsMf9q2K0Bk+ZUohstii8bt7Q9VAQxqPVXSi1EUGlVkbaCDNtZYQtyD97MWC3kFiKQdVHgmsesrimCEp9+IbnlDVwvFos2AtRpLvaUDbzXShWEEtoINrhXvP9z41LZkXXbCExdlqgPo2Meh2xp3464bduoASVpGgxu9OWcJOuST7YQcgdJG0GtizG7jdIlWoih1oIDrTSlGh8LypYepdtsZEOtp4HQDNLKj/olEg7+fSFberIuZPcwirSqdUp/jO3oTGjPc743NjSGfHDu6eENc1Hilpevsk3vNIpoBBtR0G9YnuHWxTvu4+uXTVr+a72HqZQ0ftcfFtfjqRxoOywZkxP5daDFOAiv5EkbQakysRET0yiaWiLeXREsbrdCbu8t2tpMKUnP9DB1mpIxnIYoilo7qpDM2Cs5W2pG4j9besZQcTW/M0St8QARCEul+cfnJs8RF63FNKfsZjS4Lq0ERJDXJUpITvksMgjzH83m7AZk/HcK5kWsOsqnCfauWozm+Dnj5bl6MsaRVBNJkyt7idemLoo7XslnyCWuL66SS5z3IiN1UaC4F+lEoHNbFh976rxp/7yNadZY21zpaRDV60KYnKZZZ2jpLnhMA4U9fg1Fc4ry+M9e6xND/V9f82M5ewEiERjx13BaWZdr0qN8nsz9S7TFu1Gv5U6qx5ErwDmwdAnLff/7a9Ix9xX0ed/3wzdrlJL0beDCSeGEUNLYLogpV91gpE5yzp2Dwt2GfbRJO2rQy6gj0TQQOkeq5lTCBJHQE6XDPenuv65nBC8of1wsXmrIG8xmoV/8ftIxVdm41ijJGAb/TYnsZujtnSR2/jZXGcRQKRdvhdw0wnzddcfcHOs9aeOEhlMI0GCWaTKmnWMl5vtrPmnUgpPIhRuGPTgbrAvutnJrKxPP51YfrnaocUdUXWFVQTSiwsMMM7WZ2Zxmn4P9zMfC+A+69ntG0a887N07SHhl3oczYx3rjJiW7uHTcz/4858PDjc+nd/7lv+nJyyroH8CEbo86VW0l7lD3ezfeEHbe3S6tX816AD6lyF2p82CMusHR1vWAS2E3CiOl8/Ng3p9tbhaQE/lDtHl3e3oCSzvbmcbpY/h5+PiO1wZy8I1boIKPvu15UQPdulw/vOM3zbfavOqQOG6jaBLPTlXsB5+usmZuPEKmmaNhu+NtuXX32pikFdJT033NSeCnDBj9bFqYEd8DkEW/RCq+x6L2lXZ03zlau89lmlKlX3VNhnk1t2X+wdXBP3no9IlM2h8hMj9jwEiUA4kR2L3roEC5bZ2yQ1+zjYorWFLdkzlYTOA8jCIsGm8xYPakWxbiMJWLP8G1yL/DT9YpU4= -sidebar_class_name: "post api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Create a new bookmark"} -> -</Heading> - -<MethodEndpoint - method={"post"} - path={"/bookmarks"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Create a new bookmark - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={undefined} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={{"description":"The bookmark to create","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"title":{"type":"string","nullable":true,"maxLength":1000},"archived":{"type":"boolean"},"favourited":{"type":"boolean"},"note":{"type":"string"},"summary":{"type":"string"},"createdAt":{"type":"string","nullable":true}}},{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["link"]},"url":{"type":"string","format":"uri"},"precrawledArchiveId":{"type":"string"}},"required":["type","url"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"sourceUrl":{"type":"string"}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["asset"]},"assetType":{"type":"string","enum":["image","pdf"]},"assetId":{"type":"string"},"fileName":{"type":"string"},"sourceUrl":{"type":"string"}},"required":["type","assetType","assetId"]}]}]}}}}} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"201":{"description":"The created bookmark","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"createdAt":{"type":"string"},"modifiedAt":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"archived":{"type":"boolean"},"favourited":{"type":"boolean"},"taggingStatus":{"type":"string","nullable":true,"enum":["success","failure","pending"]},"note":{"type":"string","nullable":true},"summary":{"type":"string","nullable":true},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"attachedBy":{"type":"string","enum":["ai","human"]}},"required":["id","name","attachedBy"]}},"content":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["link"]},"url":{"type":"string"},"title":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"imageUrl":{"type":"string","nullable":true},"imageAssetId":{"type":"string","nullable":true},"screenshotAssetId":{"type":"string","nullable":true},"fullPageArchiveAssetId":{"type":"string","nullable":true},"precrawledArchiveAssetId":{"type":"string","nullable":true},"videoAssetId":{"type":"string","nullable":true},"favicon":{"type":"string","nullable":true},"htmlContent":{"type":"string","nullable":true},"crawledAt":{"type":"string","nullable":true},"author":{"type":"string","nullable":true},"publisher":{"type":"string","nullable":true},"datePublished":{"type":"string","nullable":true},"dateModified":{"type":"string","nullable":true}},"required":["type","url"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"sourceUrl":{"type":"string","nullable":true}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["asset"]},"assetType":{"type":"string","enum":["image","pdf"]},"assetId":{"type":"string"},"fileName":{"type":"string","nullable":true},"sourceUrl":{"type":"string","nullable":true},"size":{"type":"number","nullable":true},"content":{"type":"string","nullable":true}},"required":["type","assetType","assetId"]},{"type":"object","properties":{"type":{"type":"string","enum":["unknown"]}},"required":["type"]}]},"assets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"assetType":{"type":"string","enum":["screenshot","assetScreenshot","bannerImage","fullPageArchive","video","bookmarkAsset","precrawledArchive","unknown"]}},"required":["id","assetType"]}}},"required":["id","createdAt","modifiedAt","archived","favourited","taggingStatus","tags","content","assets"],"title":"Bookmark"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/create-a-new-list.api.mdx b/docs/versioned_docs/version-v0.24.0/API/create-a-new-list.api.mdx deleted file mode 100644 index c4ecdf3c..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/create-a-new-list.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: create-a-new-list -title: "Create a new list" -description: "Create a new list" -sidebar_label: "Create a new list" -hide_title: true -hide_table_of_contents: true -api: eJy1VU1v2zAM/SsGz1o+hp58S4sN6FZgxZphhyAHxmYSNbakSnLbwNB/Hyg7sZN6KQZ0F8OSSJF875GqISeXWWm81ApSuLGEnhJMFL0khXQeBHjcOEgXcCedd7AU4CirrPR7SBc1rAgt2Vnlt5AulmEpwNJTRc5f63wPaX0WYL6leG/idZLFYCAg08qT8myNxhQyQ7YePzp2qcFlWyqR//zeEKSgV4+UcWrGakPWS3J8qrCknpXzVqoNCCiluiO14QynAkp8PayuJkGc5nfReXLiPJ2wt8yG3IJoN97eR6oqGc0SVYUFCHAlWs+w5rTGqvCQHs6CgKeK7P69moIAg5aUv82HTFVVFLgqCFJvKwqhYUhayjmPCFpbxzKE5tgZrVwD6ufJdJjFhr38oJIP4lAOlBDEX6h9n72z2i/w9Q8I/ndyLzMmcxAntPWSXwrw0rNnbFdoCL2aTN5yeI150rbqx9GX6XyYp5Kcw83Q2Vl18YbOPkoy+vutziEFo2O+Bln6MC7iUOKZZJ/JujiSKltACjXmuSXnwhiNHD9PQcAzWsm4xlTb4waYAzlb741Lx2Nv96MdWtwRmREaA2KgA9obEr1O/JaS76190uTC2PeG5QMj2ETuj8wjHByZ64hmkLZGINqfr9qWyBl++z2PmDEzP7tJ++UVS1NQNwY7NZ0mftxuOqFbt3kcpduqszPoOqTHq1RrzUEZ/CbAdDQZTaDT4RGW2f3tIIyz+9tkre0phow5d6V2vkTVK2vohTobAkctDz9nTZ2eXv3YFCgVx4mSqVtVLaA4PHVbVlu6gLpeoaNftgiBt1tsFstOU/H1E7AlzMlGGe6I4btpkvk057BsXlQc/k2TBXHwmGUZGX/RdtlriPsfD3OWSfvclrEDweILiPhNAQToCE5UX9yroUC1qWJHQnMniwpPNXmmwVhVe4Rq38uwrhuLud6RCgFEW4rnNQRu4j9RGN5l -sidebar_class_name: "post api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Create a new list"} -> -</Heading> - -<MethodEndpoint - method={"post"} - path={"/lists"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Create a new list - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={undefined} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={{"description":"The list to create","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":40},"description":{"type":"string","minLength":0,"maxLength":100},"icon":{"type":"string"},"type":{"type":"string","enum":["manual","smart"],"default":"manual"},"query":{"type":"string","minLength":1},"parentId":{"type":"string","nullable":true}},"required":["name","icon"]}}}}} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"201":{"description":"The created list","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"icon":{"type":"string"},"parentId":{"type":"string","nullable":true},"type":{"type":"string","enum":["manual","smart"],"default":"manual"},"query":{"type":"string","nullable":true}},"required":["id","name","icon","parentId"],"title":"List"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/delete-a-highlight.api.mdx b/docs/versioned_docs/version-v0.24.0/API/delete-a-highlight.api.mdx deleted file mode 100644 index 6b41831c..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/delete-a-highlight.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: delete-a-highlight -title: "Delete a highlight" -description: "Delete highlight by its id" -sidebar_label: "Delete a highlight" -hide_title: true -hide_table_of_contents: true -api: eJytVcFu2zAM/RWDpw0QknTosMK3AO2wbANWbBl2CHJQLCZWY0uqRLfJDP37QNtJnNbtdtgpjvkkPj4+0jUoDJnXjrQ1kMI1FkiY5HqTF3qTU7LaJ5pCohUIILkJkC7g0yEaYCkgYFZ5TXtIFzWsUHr004pySBfLuBTgpJclEvrQAEKWYykhrYH2DiGFQF6bDQjAnSxdwa80alXs9pvy8e7qg939fp/viGx2xRQ0NZAjhZmCKMDjfaU9KkjJVyjAyJJReQ8lQHOBTlIOzMtjcNYEDMzl3WTCP+dazHNMVKOHOgkCAjJrCA3xAelcoTPJB8Z3gU8NVGhXd5jxQeetQ0+6zbmydltKv52p52pEAYGkp2/rdUDqxU1VrtBzHI16JZrZwvpBlU1Vcg/3WBT2EVgH1mbjEQ0IWBUVclMVrmVVEKQHYBRAuKOhK01VFHLFbWHxowBjCf8JqIdLrwL6F1TJPEpCNR0gEs98sOjre65mX7uuqo5zw+iYv59tOWA9iJFzXk4un3vnCEqMpWRtK6P+n3Myqwb0jQJKDEFuhmJPtGluOOGXsS2lRMqtghRa23NiHpcUxkf/h3Hdm6rI0qJ/OEx35QtIoZZKeQwhjqXT44cLEPAgvebWN/y7cKvawWc5kQvpeEx+P9pKL7eIbiSdAzEwlt0NiV0nlGPypcMnLRduTG8x/WBZu5nrraejRpyZ62hgkHYgHobm4aP1pWSGn3/NGyG1WVs+zlW3lC5Gk9Gkt52OfKa3s0H+09tZsrb+nDwXGwU4G6iUjSG6NdYtZXm2hc4urU/W+ssKb0tm049dIbVp5o27Vne9Xpy2ZgABaX+HLgXkNhCD6nolA/70RYz8+r5Cz1+A5anVjSGUDvysIF3LIuArtN987/z5NnmJZ/dSmn3jKF5VKYCALe6fLPu4jAJylAp9Q6NFTLMMHfXOPhtCts1xCK5vvt7Mb0CAPPfLE380CQap1XWLmNstmhiPTIn/M8cY/wCwMJE0 -sidebar_class_name: "delete api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Delete a highlight"} -> -</Heading> - -<MethodEndpoint - method={"delete"} - path={"/highlights/{highlightId}"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Delete highlight by its id - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={[{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"HighlightId"},"required":true,"name":"highlightId","in":"path"}]} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={undefined} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"200":{"description":"The deleted highlight","content":{"application/json":{"schema":{"type":"object","properties":{"bookmarkId":{"type":"string"},"startOffset":{"type":"number"},"endOffset":{"type":"number"},"color":{"type":"string","enum":["yellow","red","green","blue"],"default":"yellow"},"text":{"type":"string","nullable":true},"note":{"type":"string","nullable":true},"id":{"type":"string"},"userId":{"type":"string"},"createdAt":{"type":"string"}},"required":["bookmarkId","startOffset","endOffset","text","note","id","userId","createdAt"],"title":"Highlight"}}}},"404":{"description":"Highlight not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/delete-a-list.api.mdx b/docs/versioned_docs/version-v0.24.0/API/delete-a-list.api.mdx deleted file mode 100644 index 86c83140..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/delete-a-list.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: delete-a-list -title: "Delete a list" -description: "Delete list by its id" -sidebar_label: "Delete a list" -hide_title: true -hide_table_of_contents: true -api: eJx9U8tu2zAQ/BViTy3ARkmRooFuBpICaYMiaF30YPiwltYWY0lkyFViV+C/F0upfiROfbFIDjmzs7M9lBQKbxwb20IO11QTk6pNYLXYKsNBmRI0MK4C5DO4M4EDzDUEKjpveAv5rIcFoSc/6biCfDaPcw0OPTbE5EMChKKiBiHvgbeOIIfA3rQr0EAbbFwtW4ZMWW+2q+b54eqz3fz5VG2YbXEl7IYTRNhvS4gaPD12xlMJOfuONLTYCKAeABqMFOOQKxA1noKzbaAgCj6eX8rfcd3frSpsy9Sy+qC4IrWwdt2gX6tnDKpMriTiy1O3RZdqLaul7VqhH98SJDpXmwIFmT0EgZ+wwy4eqGDQ4Lx15NkMUgtb0mvTooaGQsDVqbMjb2bDC3v8PMpP1lzZEnIYKhNi8SqHTBwMWT8YGUEa7Z/+tbHzNeTQY1l6CiFm6Ez2dAEantAbXNSD6vF4sGmJXc2QQ8XsQp5l7Ldna/S4JnJn6BzoF15OK1LjC8ouUy++jXg1aIEY40ECf4qZA/NhDnfOCLPUkWCQjyDQ48cX6xsUhV9/T5N9pl1auS5VD5Iuzs7Pzg9iuNMzub89qX9yf6uW1h+Ll2KjBmcDN5hiMIZ2nDlMU/fyvX6fpbeHcyiUacOZq9G0wpN61Y99naXJCKAhH0dkrqGygeWo7xcY6JevY5Ttx468jPV839bU/NIE+S4hX2Id6D863/0YE/hevaVu3MR2m9JTd7ICDWva7sc4zqOGirAknxQMh5OiIMcH115NmKRjl/Drm7ub6Q1owONYvIhBIjipqu8HxNSuqY1xJ5JlLRpj/AuPmMsh -sidebar_class_name: "delete api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Delete a list"} -> -</Heading> - -<MethodEndpoint - method={"delete"} - path={"/lists/{listId}"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Delete list by its id - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={[{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"ListId"},"required":true,"name":"listId","in":"path"}]} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={undefined} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"204":{"description":"No content - the bookmark was deleted"},"404":{"description":"List not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/delete-a-tag.api.mdx b/docs/versioned_docs/version-v0.24.0/API/delete-a-tag.api.mdx deleted file mode 100644 index 0ca6fba3..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/delete-a-tag.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: delete-a-tag -title: "Delete a tag" -description: "Delete tag by its id" -sidebar_label: "Delete a tag" -hide_title: true -hide_table_of_contents: true -api: eJx9U01v2zAM/SsCTxugxe3QYYNvAdoB3Yah2DLsEOTA2EysxrZUiW6TGfrvA2UvH206X2SJT+Lj42MPJYXCG8fGtpDDNdXEpBjXarlThoMyJWhgXAfI5zCTdaEhUNF5wzvI5z0sCT35accV5PNFXGhw6LEhJh8SIBQVNQh5D7xzBDkE9qZdgwbaYuNqOTJkynq7WzdP958+2u2fD9WW2RafJLnhBJnh+raEqMHTQ2c8lZCz70hDi43EOcU1GCnEIVcgXDwFZ9tAQfK/v7iS5bTm71YVtmVqWb1TXJFaWrtp0G/UEwZVJkVS3qtzt2e4Vq1ltbJdK9nHpwSIztWmQAFm90HQZ7Swy3sqGDQ4bx15NgPTwpb0UrGooaEQcH0udqLMfHjhgF9E+WTPlS0hh6EwSSxS5ZBJk7M+qRhBeuwf/3Ww8zXk0GNZegohZuhM9ngJGh7RG1zWA+cxPGi0wq5myKFidiHPMva7yQY9bojcBJ0D/VzIitT4grKr1IivI14NXCDGeGS+nyLlkPnYgntdJLPUkWCQjyDQ489n6xsUhl9+z5J4pl1ZuS5VD5QuJxeTiyMH7vlM727P8p/e3aqV9afkpdiowdnADSYTjIYdhw1l3J4/1x+M9OpQDmUybTlzNZpWsqRO9WNP58PgasiH2VhoqGxgCfT9EgP98nWMcvzQkZdpXhxamhpfmiD/JeQrrAP9h+SbH6P33qrXuI2H2O6Sc+pOdqBhQ7v9+MZF1FARluQTgSE2LQpyfHTrxWiJMfbWvr75djO7AQ146ohnDkgJzpLq+wExsxtqYzxwlL1wjPEvTTHFIQ== -sidebar_class_name: "delete api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Delete a tag"} -> -</Heading> - -<MethodEndpoint - method={"delete"} - path={"/tags/{tagId}"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Delete tag by its id - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={[{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"TagId"},"required":true,"name":"tagId","in":"path"}]} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={undefined} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"204":{"description":"No content - the bookmark was deleted"},"404":{"description":"Tag not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/detach-asset.api.mdx b/docs/versioned_docs/version-v0.24.0/API/detach-asset.api.mdx deleted file mode 100644 index 694ebff8..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/detach-asset.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: detach-asset -title: "Detach asset" -description: "Detach an asset from a bookmark" -sidebar_label: "Detach asset" -hide_title: true -hide_table_of_contents: true -api: eJy9VE1v2zAM/SsCTxugxe3QYYVvGdoB3Yah2DLsEPjA2HTsxrZUiW6TGfrvA23nq82KHYblEkt6oh4fH9lBRj51peXSNBDDFTGmhcJGoffEKnemVqgWxqxqdCvQwLj0EM/hw7jlIdHgKW1dyRuI5x0sCB25acsFxPMkJBosOqyJyfke4NOCaoS4A95Yghg8u7JZggZaY20r2SqpzKr1Zlk/3l2+N+tf74o1s0kvhUHJPWTL4CaDoMHRfVs6yiBm15KGBmsBLfYgDaWkaJELCPqf0ZiKUC9ywBFxRCARuLem8eSFw9uzC/k7LsdXo1LTMDWs3owVeUSvsr5KlCnfpil5n7dVtRECF6eCbHVSjWGVm7YRJmNYQaO1VZmioKM7L1dOaGMWd5QyaLDOWHJcDqxTk9FzBYOGmrzH5amzI53mQ4Q9PgnykzUXJoMYMqqIBdHLFkO0raiPun1xQ9Sr46NuFDuAuNI9bD3Xugpi6DDLHHkfIrRl9HAOGh7QlbiohnTG40HDHNuKIYaC2fo4ithtJit0uCKyE7QW9BOhZwWpMYIyueKC1OcRrwYuEEI4aJfvovLw8mHT7CSTlyWPHiZm7kGgx4+PxtUoDD/9nPW6lk1u5LpkPVA6n5xNzg7MuuMzvb05yX96e6Ny447JS7JBgzWea+z9MTp7Oy5E86fhur3H/masDBkzrTmyFZaNPNgXrRsrP9/1sgcN8VFjD8WX7W2vJRoK41mudd0CPf1wVQiyfd+Sk0GV7GvfOyQrvXxnEOdYeXohm1ffRv++Vn9iPm5is+ktVrWyAg0r2hwPJRlE//HlrTwhCRoKwoxcn/xwOk1Tsnxw79loEPfuWvPq+sv17FrkP7btE5v2D5yk1XUDYmZW1ISwY8myFo4h/Abov0RX -sidebar_class_name: "delete api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Detach asset"} -> -</Heading> - -<MethodEndpoint - method={"delete"} - path={"/bookmarks/{bookmarkId}/assets/{assetId}"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Detach an asset from a bookmark - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={[{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"BookmarkId"},"required":true,"name":"bookmarkId","in":"path"},{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"AssetId"},"required":true,"name":"assetId","in":"path"}]} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={undefined} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"204":{"description":"No content - asset was detached successfully"},"404":{"description":"Bookmark not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/detach-tags-from-a-bookmark.api.mdx b/docs/versioned_docs/version-v0.24.0/API/detach-tags-from-a-bookmark.api.mdx deleted file mode 100644 index 4ba9ae53..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/detach-tags-from-a-bookmark.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: detach-tags-from-a-bookmark -title: "Detach tags from a bookmark" -description: "Detach tags from a bookmark" -sidebar_label: "Detach tags from a bookmark" -hide_title: true -hide_table_of_contents: true -api: eJytVV2v0zgQ/SvRPLGStykrVovydoG70gWEEBTxUPVhGk8b3yaxsSeXdqP8dzTOR1taLmhFH6rEOR7PnDlz3IKmkHvj2NgaMnhFjHmRMG5DsvG2SjBZW7ur0O9AgSxDtoQXw1KAlYJAeeMNHyBbtrAm9ORvGi4gW666lQKHHiti8iECQl5QhZC1wAdHkEFgb+otKKA9Vq6UJUNGl/vDtvp6//wfu//v72LPbPPnkoHhCBkzuNPQKfD0pTGeNGTsG1JQYyWg9RGkwEh5DrkAyUp2UOAXVh8kl3MSFgX1DLBNdCRkBgpyWzPVLHB0rjQ5Cjy9D7LnSmF2fU85gwLnrSPPhkL8GjmcUOg9HiQ9pir80u47fcleF3vzLpZ98U1+pxwt+xxW43pwtg59+L/m8+t0lCZwYjcDHaSFn8To8Pt4GSP/Ajf/TzKLSN0FF9O5Ax/P5s8uKRjlltSWk41tav37Cs+tvtY1BRWFgNurHT0vIUY44ldDxyviwmrIQFNJLIgo/wzScTBC2h5npEujLGSg/cM4ro0vIYMWtfYUQpeiM+nDU1DwgN7guuxLGD73vG2wKRkyKJhdyNKU/WG2Q487IjdD50Bd0dcQQSTGBSVvBnzS5yJdO3Gaj8Jsf/Kp30w0yclSR4SJD0QQqOHhX+srlAxff15ELqVjH46GcDuqahzW5TR3R+lN4zY1ZdWJyWys7BP++uKezuaz+YkKp8pu3t9dZeLm/V2ysf6cBqGtU+Bs4AqjugaLe9yvz6K3R8H+zOZ7Gpn2nLoSTS1nRyW0g4SWk7eKYLIzo+3NRUFhAwuybdcY6JMvu06WvzTk5a5YHTUUGdYmyLOGbINloEeSf/Jh0P4fyY+SHQ2kPkSplo28gYIdHc7vhdi1glCTj1n0gJf9WX8uJMwxwMWUd2rccZPn5PhR7OpkIl/dvr1d3IoihwuoiiYAHr+Civ8xXRurj0KPay2UWG+baArQRxX94rn8v5N7r99rhLRtj1jYHdVdN/HD8i7UdN03RJTKrQ== -sidebar_class_name: "delete api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Detach tags from a bookmark"} -> -</Heading> - -<MethodEndpoint - method={"delete"} - path={"/bookmarks/{bookmarkId}/tags"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Detach tags from a bookmark - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={[{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"BookmarkId"},"required":true,"name":"bookmarkId","in":"path"}]} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={{"description":"The tags to detach.","content":{"application/json":{"schema":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"object","properties":{"tagId":{"type":"string"},"tagName":{"type":"string"}}}}},"required":["tags"]}}}}} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"200":{"description":"The list of detached tag ids","content":{"application/json":{"schema":{"type":"object","properties":{"detached":{"type":"array","items":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"TagId"}}},"required":["detached"]}}}},"404":{"description":"Bookmark not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/get-a-bookmarks-in-a-list.api.mdx b/docs/versioned_docs/version-v0.24.0/API/get-a-bookmarks-in-a-list.api.mdx deleted file mode 100644 index da168ceb..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/get-a-bookmarks-in-a-list.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: get-a-bookmarks-in-a-list -title: "Get a bookmarks in a list" -description: "Get the bookmarks in a list" -sidebar_label: "Get a bookmarks in a list" -hide_title: true -hide_table_of_contents: true -api: eJzNWEtv4zYQ/ivCXNoCQpwttujCNydoF+ljN2hS9BD4MBbHFtcUqSUpJ15D/30xlCzJDp0o3QDtKY44j2+enOEOBLnMytJLo2EK78knPqdkYcy6QLt2idQJJko6Dyl4XDmY3sEf0nkH8xQcZZWVfgvTux0sCC3ZWeVzmN7N63kKJVosyJN1gcBlORUI0x34bUkwBeet1CtIgR6wKBV/kiSFetiuivtP7342D19+yh+8N9k71i59IGHtVwLqFCx9rqQlAVNvK0pBY8EEqiFIQbJJJfoc6jSiXlfFguyhoCUqN5RUSL8X9Lkiu41L6gzZY7ysrDNPis4aiudlL4xRhBpSELTESvm9tYeRu1omjoNnknDaRfA7l2RGe9I+uZdKJQtKpM5UJUhwbDnYllxptKOz5IPxlCY+lz1Thpp5FNoVJUtjE2eKQX6cRW38n0DrnN2KvWwYj5w+ZwMaNY79/uP5Of85tOHj4hNljNPnoRoSgR5ZQwuGObAslcyQOSafHLNFwmmCIEihtKYk62WjtEM9IEVrcctgPRXueRFSPM7IOoXMEnoSMx89LYyQSxk/TkFXSuGCM5ojV3f5PYISbZbLDYlIJtcpLHFjuHOcOve4Wkm9uvHoK/e8vhRIVwW3JldlGTkHrEKqyhK7ibRgrnmdgjZ+HH5XFQXa7TivhL74ynFrUjdygN5jlpO4iILbOwIlpJBXBWqY1wc1escaW/kH0gLdIJ+Npo/L0LmfNqA5PQ1FSb0Ozq+silo0PqsOinIEvSxwRX/H1J4injlHfHuMypHMEmmXG/8SrmWl1DVrairkJaylpczivSLxL5g3UpB5EVDcyGyko3NfqMs+dZ6l35sxjhornxs7zkXVQkmX0zhqgZ6uW45xTmGOP9umOYLhqPICdVMIc77tv62wPD34UFjhR6yynKlsNrIA4lD3Or4VK3LiBbDh1+0z5KEWWYlY9kyxvOU8lYo+RLtlrGZf4JEUnPwyFNtOjLF8Hp37cTf3TultfQWvV3qtzX3kCggM87pz7evfX6PC3HfQvd03wy8L1JrsVZsLR40T2pbGdO30FLobRPok19wpV4TbsEc7r6ME/Rh1MDQNBp2DqeZ4hGmHhD5ROr/P+63hojUDGIGmB9+uES9Oqn6aPJAzUHWNK6nZoIuOtA6Gvz1/+3j65ZUr0cYnS1Np8XpTb2ZEfMYpyDkO+uOzI0uDhJ6eg1cHfp8bAVNYNfnAO+AUJjy5u8muWRDrydBNjuxmv6iGOQV2KIQl5+oJlnKyecP5hlay1wP49rjxVruZQe596aaTibfbszVaXBOVZ1iWcLwU3eaUtBISswzLzu8tfdJg4YAMduwb9mm7LAw27c5BrJntCGQ8TQciLo7w41djC2SEv/1zG7wo9dIwO1vdQHpzdn52PlhiOzyz66so/tn1Vdi7DsCzsXwPG+d5+Jzu9ksYvy3giZeFo7muS6/nHiQa0/mOmpQKZdgd2imzifldeA3gAE+7Z4E+7PMUcuM8k+12C3R8L9Q1f252Q04GIR2HvF9u17QdPA1sUFWMISzvJ2i7Xf9p4pNO+A8X6KiHG6seLdW9dfO+VOI+PGnq93+1xf1Dckr7/pbS26HOPi7N6xDfbDmh4EHwbtcezrKMyiHUR82LoXfN4/0vt9AMn8Mt9bCuhvvRIaTdrqG4NWvSdd0h9Pw/A6zrrx6euwY= -sidebar_class_name: "get api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Get a bookmarks in a list"} -> -</Heading> - -<MethodEndpoint - method={"get"} - path={"/lists/{listId}/bookmarks"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Get the bookmarks in a list - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={[{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"ListId"},"required":true,"name":"listId","in":"path"},{"schema":{"type":"number"},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","title":"Cursor"},"required":false,"name":"cursor","in":"query"},{"schema":{"type":"boolean","default":true,"description":"If set to true, bookmark's content will be included in the response. Note, this content can be large for some bookmarks."},"required":false,"description":"If set to true, bookmark's content will be included in the response. Note, this content can be large for some bookmarks.","name":"includeContent","in":"query"}]} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={undefined} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"200":{"description":"Object with list data.","content":{"application/json":{"schema":{"type":"object","properties":{"bookmarks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"createdAt":{"type":"string"},"modifiedAt":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"archived":{"type":"boolean"},"favourited":{"type":"boolean"},"taggingStatus":{"type":"string","nullable":true,"enum":["success","failure","pending"]},"note":{"type":"string","nullable":true},"summary":{"type":"string","nullable":true},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"attachedBy":{"type":"string","enum":["ai","human"]}},"required":["id","name","attachedBy"]}},"content":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["link"]},"url":{"type":"string"},"title":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"imageUrl":{"type":"string","nullable":true},"imageAssetId":{"type":"string","nullable":true},"screenshotAssetId":{"type":"string","nullable":true},"fullPageArchiveAssetId":{"type":"string","nullable":true},"precrawledArchiveAssetId":{"type":"string","nullable":true},"videoAssetId":{"type":"string","nullable":true},"favicon":{"type":"string","nullable":true},"htmlContent":{"type":"string","nullable":true},"crawledAt":{"type":"string","nullable":true},"author":{"type":"string","nullable":true},"publisher":{"type":"string","nullable":true},"datePublished":{"type":"string","nullable":true},"dateModified":{"type":"string","nullable":true}},"required":["type","url"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"sourceUrl":{"type":"string","nullable":true}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["asset"]},"assetType":{"type":"string","enum":["image","pdf"]},"assetId":{"type":"string"},"fileName":{"type":"string","nullable":true},"sourceUrl":{"type":"string","nullable":true},"size":{"type":"number","nullable":true},"content":{"type":"string","nullable":true}},"required":["type","assetType","assetId"]},{"type":"object","properties":{"type":{"type":"string","enum":["unknown"]}},"required":["type"]}]},"assets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"assetType":{"type":"string","enum":["screenshot","assetScreenshot","bannerImage","fullPageArchive","video","bookmarkAsset","precrawledArchive","unknown"]}},"required":["id","assetType"]}}},"required":["id","createdAt","modifiedAt","archived","favourited","taggingStatus","tags","content","assets"],"title":"Bookmark"}},"nextCursor":{"type":"string","nullable":true}},"required":["bookmarks","nextCursor"],"title":"PaginatedBookmarks"}}}},"404":{"description":"List not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/get-a-bookmarks-with-the-tag.api.mdx b/docs/versioned_docs/version-v0.24.0/API/get-a-bookmarks-with-the-tag.api.mdx deleted file mode 100644 index 58bcdf45..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/get-a-bookmarks-with-the-tag.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: get-a-bookmarks-with-the-tag -title: "Get a bookmarks with the tag" -description: "Get the bookmarks with the tag" -sidebar_label: "Get a bookmarks with the tag" -hide_title: true -hide_table_of_contents: true -api: eJzNWN1v2zYQ/1cEvmwDhDgdOqzwW1JsRTasDVYPewj8cBbPFmuKVMmTE9fQ/z4c9WmHbpQ1wPZkWbyP333yTgch0WdOlaSsEXPxDimhHJOVtdsC3NYn94ry8IpgI1JBsPFificW/LtMhcescor2Yn53ECsEh+6qolzM75b1MhUlOCiQ0PlA4LMcCxDzg6B9iWIuPDllWC4+QFFqfqVQSf2w3xT3n978bB++/JQ/ENnsDStXFEgWsLmRok6Fw8+VcijFnFyFqTBQ8DmF81QoNqkEykWdRpSbqlihO5azBu0HQVoVijpBnyt0+7ik3owO4dvKeftV0VlD8bTslbUawYhUSFxDpakz9jhyN+vEc/BsEk77CH7nk8waQkPJvdI6WWGiTKYriTJRJkTWoS+t8XiRvLeEaUK5GpgyMMyjwW0wWVuXeFuM8uMiauP/BFrv7Fbs24bxxOlLNqBR49nvP15e8s+xDR9WnzCjphq08pRIIGANLRjmgLLUKgPmmH3yzBYJpw2CRCpKZ0t0pBqlPeoRKTgHewZLWPinRSj5OCPrVGQOgVBeUfS0sFKtVfw4FabSGlac0Ry5us/vCZTgslztUEYyuU7FGnaW+8a5c4LNRpnNRwKq/NP6UoGmKrgv+SrL0HvBKpSuHLKb0EjmWtapMJam4fdVUYDbT/NKaIovHLcmdSMHQARZjvI6Cq5zBCiRirwqwIhlfVSjd6yxlX8kLdCN8tka/LAOffvrBjSn56FoZbbB+ZXTUYumZ9VRUU6gVwVs8K+Y2nPEV94j3URCEsuRzCEan1t6Dte60vqWNTUV8hzW0mHm4F6j/BfMOyXRPgso7FQ20dE5FfrtkDpP0ndmTKOGinLrprmoWmnlc5xGLYHwtuWY5hTm+KNtmhMYTiovUDeFsOTb/tsKi/CBQmGFh1hleVu5bGIBxKF2Or4VK3DiBbDhafEEeahFViLXA1MsbzlPlcb30W4Zq9lneCQVXn0Zi20nxlg+T879uJsHpwy2voDXK7M19j5yBQSGZd279uXvr0lhHjpoZ/fH8ZsVGIPups2Fk8Yp2pbGdO30FLqbiPRJrrlzrgi34YB2WUcJhjHqaGgaDTpHU83pCNMOCUOi9H5fDlvDdWuGYAQGH6hdI56dVMM0eSRnpOoWNsqwQdc9aR0Mf335+vH0u4BNYiwla1sZ+XJDb2ZlfMQp0HuO+eOzE0ODhIGeY1cHfsqtFHOxadKBV8C5mHEIZoewHdazsY88ul23o4YhRRxASofe1zMo1Wz3ipMNnGKXB+jtceOqdi0TOVHp57MZuf3FFhxsEcsLKEtxuhEtckxaCYldh03n95Y+abBwNEbr9Uf2aLspjJbs3j2sme0IZDxKByKujPDwq3UFMMLf/l4EHyqztszOVjeQXl1cXlyONtgez9XtTRT/1e1NWLqOwLOxfAlbTzx5zg/dBsYfFuD8Z4WTua7PrwkfJBoH8DU1KzWosD60g2YT97uu9Obdd4Eh9MtU5NYTEx0OK/B8MdQ1v26WQ04IqTyHfdhut7gffRvYga4YQdjez9D2y/7Xic964T/coKP+bax6tFUP1i2Hcon78Kyp3//ZlvcPyTnt3TVl9mOdHaomyOFmyxEkD4J3h/bsKsuwHCN91L0Yed893v2yEM3wOd5Sj0trvB8dIzocGoqF3aKp6wEg/2eAdf0PHbq6VQ== -sidebar_class_name: "get api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Get a bookmarks with the tag"} -> -</Heading> - -<MethodEndpoint - method={"get"} - path={"/tags/{tagId}/bookmarks"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Get the bookmarks with the tag - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={[{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"TagId"},"required":true,"name":"tagId","in":"path"},{"schema":{"type":"number"},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","title":"Cursor"},"required":false,"name":"cursor","in":"query"},{"schema":{"type":"boolean","default":true,"description":"If set to true, bookmark's content will be included in the response. Note, this content can be large for some bookmarks."},"required":false,"description":"If set to true, bookmark's content will be included in the response. Note, this content can be large for some bookmarks.","name":"includeContent","in":"query"}]} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={undefined} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"200":{"description":"Object with list data.","content":{"application/json":{"schema":{"type":"object","properties":{"bookmarks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"createdAt":{"type":"string"},"modifiedAt":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"archived":{"type":"boolean"},"favourited":{"type":"boolean"},"taggingStatus":{"type":"string","nullable":true,"enum":["success","failure","pending"]},"note":{"type":"string","nullable":true},"summary":{"type":"string","nullable":true},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"attachedBy":{"type":"string","enum":["ai","human"]}},"required":["id","name","attachedBy"]}},"content":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["link"]},"url":{"type":"string"},"title":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"imageUrl":{"type":"string","nullable":true},"imageAssetId":{"type":"string","nullable":true},"screenshotAssetId":{"type":"string","nullable":true},"fullPageArchiveAssetId":{"type":"string","nullable":true},"precrawledArchiveAssetId":{"type":"string","nullable":true},"videoAssetId":{"type":"string","nullable":true},"favicon":{"type":"string","nullable":true},"htmlContent":{"type":"string","nullable":true},"crawledAt":{"type":"string","nullable":true},"author":{"type":"string","nullable":true},"publisher":{"type":"string","nullable":true},"datePublished":{"type":"string","nullable":true},"dateModified":{"type":"string","nullable":true}},"required":["type","url"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"sourceUrl":{"type":"string","nullable":true}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["asset"]},"assetType":{"type":"string","enum":["image","pdf"]},"assetId":{"type":"string"},"fileName":{"type":"string","nullable":true},"sourceUrl":{"type":"string","nullable":true},"size":{"type":"number","nullable":true},"content":{"type":"string","nullable":true}},"required":["type","assetType","assetId"]},{"type":"object","properties":{"type":{"type":"string","enum":["unknown"]}},"required":["type"]}]},"assets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"assetType":{"type":"string","enum":["screenshot","assetScreenshot","bannerImage","fullPageArchive","video","bookmarkAsset","precrawledArchive","unknown"]}},"required":["id","assetType"]}}},"required":["id","createdAt","modifiedAt","archived","favourited","taggingStatus","tags","content","assets"],"title":"Bookmark"}},"nextCursor":{"type":"string","nullable":true}},"required":["bookmarks","nextCursor"],"title":"PaginatedBookmarks"}}}},"404":{"description":"Tag not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/get-a-single-bookmark.api.mdx b/docs/versioned_docs/version-v0.24.0/API/get-a-single-bookmark.api.mdx deleted file mode 100644 index 9a8359e7..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/get-a-single-bookmark.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: get-a-single-bookmark -title: "Get a single bookmark" -description: "Get bookmark by its id" -sidebar_label: "Get a single bookmark" -hide_title: true -hide_table_of_contents: true -api: eJzNV0tvGzcQ/ivEXNoCC8spUjTQzQnawC2aGLWLHgwdRsuRltYuuSG5shVh/3sw3KdkKl4nBtqT5eUM55tvHpzZgySXWlV6ZTTM4T15sTRmU6DdiOVOKO+EkpCAx7WD+S28bQ8dLBJwlFZW+R3Mb/ewJLRkLyqfwfx2US8SKNFiQZ6sCwIuzahAmO/B70qCOThvlV5DAvSARZnzJ0VK5g+7dXF/9+ZX8/D5l+zBe5O+YQTKB5EOwaWEOgFLnyplScLc24oS0Fiw0HIQSkCxZyX6DOokAmNpTE6oIQFJK6xy3911SM3lSjjywhsRTnuafnAiNdqT9uJe5blYklA6zStJUigtfEbCkiuNdnQmPhhPifCZGpRS1KyTo12TWBkrnCmov92dHXq5wtz9f6D1fLfXvmsUO84/VWR3wKnQmXHM+8/n5/zn0IePyztKGafPhgyU6JGttIBYC8syVymy1uzOsWokpCZcBgmU1pRkvWoMK/k4++oEUkvoSV746GlhpFqp+HECuspzXHJiMvV1n6YTJNGmmdqSjKRincAKt4aL69S5x/Va6fW1R1+5p+0lQLoquIJdlabkHLAJlVeWmCbSkrUWdQLa+Gn4XVUUaHfTWAntoxdEa3HHWeKpcN8ctyb3IgfoPaYZybdRcB0RqCCBrCpQw6I+KLJbCD0v3H9wW5AbJaPR9HEVmtvXHWhOT0PJld4E8iubRz2anlUHVTVBXhW4pn9iZk8JXzhH/jISkliOpJZIu8z452itqjy/YktNhTxHtbSUWrzPSX6D8lZJMs8CiluVTiQ680X+bkidJ+U7N6ZJY+UzY6dRVC1z5TKaJi3R01WrMY0U1virbZoTFI4qL0g3hbDg5/r7CsvTgw+FFX7EKsuZyqYTCyAOtbPxvViREy+ADb9unhAPtchG5GpQiuUt56nK6UO0W8Zq9hmMJODU5/G1uiqWZKP5PDn34zQPpAy+vgDrld5ocx95AoLCou6pffn3a1KYhw7a+X09/rJErcletrlw1DihbWks145UobtBpE9yzZ2iIryGA9pFHRUYxqiDoWk06BxMNccjTDskDInS8754PPxDHTC8Pn/9eJLsZIQ2XqxMpeXLTZCpkfGRoyDnOAaPz46oCjcM8sxlHfR9ZiTMYd2Eh7eVOcz6WXu2H1aaGnj1sttusQpDA+xRSkvO1TMs1Wz7ioOPVnFdBejtccNXu+dA5n3p5rOZt7uzDVrcEJVnWJZwvGLcZCTaG4RZhdXhz1ZeNFg4JKOd8JoZbSyPN8OeHrbMfgQxHm2DEGdq+PG7sQUywj/+vQkcKr0yrM5eN5BenZ2fnY8Wwx7PxdVlFP/F1WXYYg7As7P8KBrneRKc77uVhldhFE7pdT7sPMf37ofE+sru3HjM78SszFGF+b2d9JpA3/b1yQUwH22viwQy4zyL7PdLdNyX65o/N8sVx18qx1E+sR2OIf6Hi2KUhA3tYsvjFvOKhcPq2CXxM1398e+26H4Sp6x3zVzvxjY7VKMghEcgI5Q8M93uW4GLNKVyDPdRY2H4fWG//+0GmjltvNAdZv14lTiEtd83EjdmQ7que5Se/2eAdf0FYTooOg== -sidebar_class_name: "get api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Get a single bookmark"} -> -</Heading> - -<MethodEndpoint - method={"get"} - path={"/bookmarks/{bookmarkId}"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Get bookmark by its id - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={[{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"BookmarkId"},"required":true,"name":"bookmarkId","in":"path"},{"schema":{"type":"boolean","default":true,"description":"If set to true, bookmark's content will be included in the response. Note, this content can be large for some bookmarks."},"required":false,"description":"If set to true, bookmark's content will be included in the response. Note, this content can be large for some bookmarks.","name":"includeContent","in":"query"}]} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={undefined} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"200":{"description":"Object with bookmark data.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"createdAt":{"type":"string"},"modifiedAt":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"archived":{"type":"boolean"},"favourited":{"type":"boolean"},"taggingStatus":{"type":"string","nullable":true,"enum":["success","failure","pending"]},"note":{"type":"string","nullable":true},"summary":{"type":"string","nullable":true},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"attachedBy":{"type":"string","enum":["ai","human"]}},"required":["id","name","attachedBy"]}},"content":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["link"]},"url":{"type":"string"},"title":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"imageUrl":{"type":"string","nullable":true},"imageAssetId":{"type":"string","nullable":true},"screenshotAssetId":{"type":"string","nullable":true},"fullPageArchiveAssetId":{"type":"string","nullable":true},"precrawledArchiveAssetId":{"type":"string","nullable":true},"videoAssetId":{"type":"string","nullable":true},"favicon":{"type":"string","nullable":true},"htmlContent":{"type":"string","nullable":true},"crawledAt":{"type":"string","nullable":true},"author":{"type":"string","nullable":true},"publisher":{"type":"string","nullable":true},"datePublished":{"type":"string","nullable":true},"dateModified":{"type":"string","nullable":true}},"required":["type","url"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"sourceUrl":{"type":"string","nullable":true}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["asset"]},"assetType":{"type":"string","enum":["image","pdf"]},"assetId":{"type":"string"},"fileName":{"type":"string","nullable":true},"sourceUrl":{"type":"string","nullable":true},"size":{"type":"number","nullable":true},"content":{"type":"string","nullable":true}},"required":["type","assetType","assetId"]},{"type":"object","properties":{"type":{"type":"string","enum":["unknown"]}},"required":["type"]}]},"assets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"assetType":{"type":"string","enum":["screenshot","assetScreenshot","bannerImage","fullPageArchive","video","bookmarkAsset","precrawledArchive","unknown"]}},"required":["id","assetType"]}}},"required":["id","createdAt","modifiedAt","archived","favourited","taggingStatus","tags","content","assets"],"title":"Bookmark"}}}},"404":{"description":"Bookmark not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/get-a-single-highlight.api.mdx b/docs/versioned_docs/version-v0.24.0/API/get-a-single-highlight.api.mdx deleted file mode 100644 index 705ceb5a..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/get-a-single-highlight.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: get-a-single-highlight -title: "Get a single highlight" -description: "Get highlight by its id" -sidebar_label: "Get a single highlight" -hide_title: true -hide_table_of_contents: true -api: eJytVcFu2zAM/RWDpw0QknTosMK3HLau22HD1mGHIAfFYmw1tqRKdJvM0L8PVNzESd1ih53imE/U4+Mj3YHCUHjtSFsDOVwjZZUuq1qXFWWrXaYpZFqBAJJlgHwBn5+iAZYCAhat17SDfNHBCqVHP2+pgnyxjEsBTnrZIKEPCRCKChsJeQe0cwg5BPLalCAAt7JxNb/SqFW93ZXN493VB7v9877aEtniiiloSpADhRsFUYDH+1Z7VJCTb1GAkQ2jqgFKgObqnKQKmJfH4KwJGJjLu9mMf06F+La6w4KyR03VQBAlSU5AQGENoSE+Jp2rdSH52PQu8NmROm3KBgKctw496f3NK2s3jfSbG/VckyggkPT0bb0OSIO4aZsVeo6jUa9EC1tbP6q1aRvu5A7r2j4Cq8EKlR7RgIBV3SK3VuFatjVB/gSMAgi3NJbStHUtV9wcbkEUYCzhPwH1eOltQP+CKoVHSajmI0TiiRsWQ31P1Rxq11fVc06MDvcPb1uOGBBi5DsvZ5fPHXQAZcZStratUf/POYVVI/pGAQ2GIMux2Jk2KcMRv4z7UhqkyirIoUzSpInJYXoYgTDtBoMVWVf0D08D3voacuikUh5DiFPp9PThAgQ8SK+574l8H95L9mSyisiFfDolv5tspJcbRDeRzoE40/W2wqzPkNl1RhVmX3t8tufCXRnspp+saT9wgw11EIhv5joSDPIexJOQHj5Z30hm+OX3bVJRm7Xl41z1ntLFZDaZDRbUgc/8+80o//n3m2xt/Sl5LjYKcDZQI5Mb+k3GS1lmQZuyxuMyOk/cHb312hrf18yWn7paapOmjdvW9c1eHDdnAAH5cI8uBVQ2EIO6biUD/vJ1jPz6vkXPX4HlsdfJEUoHflaQr2Ud8BXOb3707nybvcSzfynNLlmKF1UOIGCDu7OFH5dRQIVSoU809oh5UaCjwdlnI8i+OYzA9cdbECBP3XLmjpR9lFfX7RG3doMmxgNN4v9MMMa/V8aQOg== -sidebar_class_name: "get api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Get a single highlight"} -> -</Heading> - -<MethodEndpoint - method={"get"} - path={"/highlights/{highlightId}"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Get highlight by its id - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={[{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"HighlightId"},"required":true,"name":"highlightId","in":"path"}]} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={undefined} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"200":{"description":"Object with highlight data.","content":{"application/json":{"schema":{"type":"object","properties":{"bookmarkId":{"type":"string"},"startOffset":{"type":"number"},"endOffset":{"type":"number"},"color":{"type":"string","enum":["yellow","red","green","blue"],"default":"yellow"},"text":{"type":"string","nullable":true},"note":{"type":"string","nullable":true},"id":{"type":"string"},"userId":{"type":"string"},"createdAt":{"type":"string"}},"required":["bookmarkId","startOffset","endOffset","text","note","id","userId","createdAt"],"title":"Highlight"}}}},"404":{"description":"Highlight not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/get-a-single-tag.api.mdx b/docs/versioned_docs/version-v0.24.0/API/get-a-single-tag.api.mdx deleted file mode 100644 index 64c17ee7..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/get-a-single-tag.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: get-a-single-tag -title: "Get a single tag" -description: "Get tag by its id" -sidebar_label: "Get a single tag" -hide_title: true -hide_table_of_contents: true -api: eJytVMFu2zAM/RWBpw0QkmzosMK3FNiKbocVW4YdghwYm7HV2JYq0W0yw/8+UHbTJPW6y06WRYp85HtkCxmF1BvHxtaQwDWxYszVeq8MB2Uy0MCYB0iWsJDvSkOgtPGG95AsW1gTevLzhgtIlqtupcGhx4qYfIgOIS2oQkha4L0jSCCwN3UOGmiHlSvlypDJyt0+rx7vLj/a3e8PxY7ZppeS3HB0WWB+k0GnwdN9YzxlkLBvSEONldg52jUYqcIhFyBYPAVn60BB8r+fzeRzWvC39R2lrB4NF6o0gVWGjBPQkNqaqWZ5gc6VJkV5Mb0L8mykLBsDgQbnrSPPpk9qspeld0+oxwxNdWXttkK/DUcOdVOtyZ87XO3nzJgWlC2i27/AoBkNWTQV1iOWrjvp9xKiHCL0M6CvwlqdsDiEvZhdvCRjgbmqLauNbers/3GQ2my82RWFgPmY7azwGOHZf9X1RVTEhc0ggZxiVpFdAlMZmGkbFdmBzIt/eJqGxpeQQItZ5imEborOTB/egYYH9AbX5cBTb+4btMGmZEigYHYhmU7Z7ydb9LglchN0DvR5FwtSQwRlN4oLUl8Hf9VjEQ6OBvmH9LHPfDzOh6ZIZqkjukEyOIEeDp+tr1AQfvm1iJ0z9cbKc6m6h/RuMpvMjqb5gGd+ezOKf357ozbWn4KXYjsNzgYeBDsMv2wtVMHUeUmyvs5Dts9KGt9wfZ1MO566Ek0taSJV7UDqst+CGpJ+0aw0FDawGNp2jYF++rLr5Pq+IS+rcfXMaWQ+M0HOGSQbLAO9gvDN90F5b9XfsA2XWO+jdMpG/kDDlvaHXditZLQJM/IRQG+bpyk5Pnr1YrBEGQdhX39agAY81cMZ/zH6KKK27T0Wdkt11z0DlH8B2HV/ANg2NwA= -sidebar_class_name: "get api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Get a single tag"} -> -</Heading> - -<MethodEndpoint - method={"get"} - path={"/tags/{tagId}"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Get tag by its id - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={[{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"TagId"},"required":true,"name":"tagId","in":"path"}]} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={undefined} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"200":{"description":"Object with list data.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"numBookmarks":{"type":"number"},"numBookmarksByAttachedType":{"type":"object","properties":{"ai":{"type":"number"},"human":{"type":"number"}}}},"required":["id","name","numBookmarks","numBookmarksByAttachedType"],"title":"Tag"}}}},"404":{"description":"Tag not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/get-all-bookmarks.api.mdx b/docs/versioned_docs/version-v0.24.0/API/get-all-bookmarks.api.mdx deleted file mode 100644 index bfd0a785..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/get-all-bookmarks.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: get-all-bookmarks -title: "Get all bookmarks" -description: "Get all bookmarks" -sidebar_label: "Get all bookmarks" -hide_title: true -hide_table_of_contents: true -api: eJzNWEtv3DYQ/ivCXHoRdp0eddsEbeAUTQzYRQ+GDrPSaMUsRSoktc52of9eDKXVY03bcmKgPVkm5/3ifHuCnGxmRO2EVpDAR3IRShlttd5XaPYWYnC4s5Dcw/vhLI3BUtYY4Y6Q3J9gS2jIbBpXQnKftmkMNRqsyJGxnsBmJVUIyQncsSZIYKu1JFTQxmDoWyMM5ZAUKC3FoLBiEjRZKQ6UQwyCTfvWkDlCG/+YtAIPmg1eJE811ZbMc+KkqIRbIMk6I9SOgyic5IMPjbH6WdFZR7Hc6xhyKrCRDhJnGoovUnpdRJZc5HTkb4fU/mKjTCtHykUPglNOkVCZbHLKI6EiV1JkyNZaWVpFn7WjOHKlGJkyVMwj0ewoKrSJrK5oLJxV0Mf/iWlDsHuxHzrGi6Cn7ECnxnLcf7264j9zH75sv1LGdrpy3jlRjg5ZVW8Vs2JdS5Ehs66/WuYP5FV7iRBDbXRNxolO+9iSIykag0e22lFlXxYh8sel2caQGUJH+cYFbyudi0KEr2NQjZS45dLmFLZDoS+gHBo82MiThg3eO9zthNrdOnSNfVlfDKSaiseYbbKMLA+2AoVsDHGYSOXMlbYxKO2W2W+bqkJzXBYVP0PfOG9dDQcu0DnMSsrfB407BwIFxFA2FSpI21mz3rPGXv5Mmqeb1LNW9KXwE/55B7rbp02RQu198Bsjgx4tr6pZdy6gFxXu6K+Q2qeIN9aSuw6kJFQjmSFSttTuNVxFI+UNa+o65DWstaHM4IOk/AeYDyIn/SpD8SCyhYEuXSU/jKXzIv3ZjWXU2LhSm2UharZS2JKWUefo6KbnWBYU5vizH5oLGC46z1N3jZDys/9zjeXou/ON5T9CnWV1Y7KFDRA29azjZ21FLjxvrP+6e4Hc9yIryYuRKVS3XKdC0ufgtAz17CsiEoMV/0zF9qtjqJ4X1344zGNQRl/fIOqN2iv9EHgCPEPaDqF9+/drUZrHCXr2+3Z6skWlyFz3tXAxOKEfaUzXb09+ukFgTnLPPRUK/xqO1qZtkGBco2ZLUzxFMjMYMl9h+iVhLJQh7ukIH84YDNgCRd9djydeXVRTgDeRM1F1gzuh2KER97Wt97wiV+ocEth1oUTGfbCeirRkDmfw5990OGGeG7K2XWMt1od3nBs0gi30NdJfdwt2D2egdK62yXrtzHG1R4N7onqFdQ2XSOKupKiXEOnCI4Q/evqos4WNn+DWW966+8V6gl6HMLJm9sOT8ebpibiQ/Mfv2lTIFn76+87nQqhCMzt73Zn0bnW1upogv8Gezc110P7NzbUHKzPj2Vl+s7R1vKglpzNyCSH1i91nmDhhWN85ytN7XUsUfqvu968updMqSWMotXV8eDpt0fJ8bFs+7sASJzoXltM5or09HedA/oCyYaUe0D5BPmuRJQxnLL6EdgDXzxM/Gcj/ELEG89V59QjFjt6lY5v532ZiKAlz3n3uTz33JsuonnI9QqksZWj6j7/dQbdvTYHZvD2mkADVcSL7dOoo7vSeVNvC2QXH/0PLo/VfqoVqsg== -sidebar_class_name: "get api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Get all bookmarks"} -> -</Heading> - -<MethodEndpoint - method={"get"} - path={"/bookmarks"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Get all bookmarks - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={[{"schema":{"type":"boolean"},"required":false,"name":"archived","in":"query"},{"schema":{"type":"boolean"},"required":false,"name":"favourited","in":"query"},{"schema":{"type":"number"},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","title":"Cursor"},"required":false,"name":"cursor","in":"query"},{"schema":{"type":"boolean","default":true,"description":"If set to true, bookmark's content will be included in the response. Note, this content can be large for some bookmarks."},"required":false,"description":"If set to true, bookmark's content will be included in the response. Note, this content can be large for some bookmarks.","name":"includeContent","in":"query"}]} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={undefined} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"200":{"description":"Object with all bookmarks data.","content":{"application/json":{"schema":{"type":"object","properties":{"bookmarks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"createdAt":{"type":"string"},"modifiedAt":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"archived":{"type":"boolean"},"favourited":{"type":"boolean"},"taggingStatus":{"type":"string","nullable":true,"enum":["success","failure","pending"]},"note":{"type":"string","nullable":true},"summary":{"type":"string","nullable":true},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"attachedBy":{"type":"string","enum":["ai","human"]}},"required":["id","name","attachedBy"]}},"content":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["link"]},"url":{"type":"string"},"title":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"imageUrl":{"type":"string","nullable":true},"imageAssetId":{"type":"string","nullable":true},"screenshotAssetId":{"type":"string","nullable":true},"fullPageArchiveAssetId":{"type":"string","nullable":true},"precrawledArchiveAssetId":{"type":"string","nullable":true},"videoAssetId":{"type":"string","nullable":true},"favicon":{"type":"string","nullable":true},"htmlContent":{"type":"string","nullable":true},"crawledAt":{"type":"string","nullable":true},"author":{"type":"string","nullable":true},"publisher":{"type":"string","nullable":true},"datePublished":{"type":"string","nullable":true},"dateModified":{"type":"string","nullable":true}},"required":["type","url"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"sourceUrl":{"type":"string","nullable":true}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["asset"]},"assetType":{"type":"string","enum":["image","pdf"]},"assetId":{"type":"string"},"fileName":{"type":"string","nullable":true},"sourceUrl":{"type":"string","nullable":true},"size":{"type":"number","nullable":true},"content":{"type":"string","nullable":true}},"required":["type","assetType","assetId"]},{"type":"object","properties":{"type":{"type":"string","enum":["unknown"]}},"required":["type"]}]},"assets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"assetType":{"type":"string","enum":["screenshot","assetScreenshot","bannerImage","fullPageArchive","video","bookmarkAsset","precrawledArchive","unknown"]}},"required":["id","assetType"]}}},"required":["id","createdAt","modifiedAt","archived","favourited","taggingStatus","tags","content","assets"],"title":"Bookmark"}},"nextCursor":{"type":"string","nullable":true}},"required":["bookmarks","nextCursor"],"title":"PaginatedBookmarks"}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/get-all-lists.api.mdx b/docs/versioned_docs/version-v0.24.0/API/get-all-lists.api.mdx deleted file mode 100644 index 8a3bef1c..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/get-all-lists.api.mdx +++ /dev/null @@ -1,63 +0,0 @@ ---- -id: get-all-lists -title: "Get all lists" -description: "Get all lists" -sidebar_label: "Get all lists" -hide_title: true -hide_table_of_contents: true -api: eJyNVMtu2zAQ/BVhzoTl9qibD22QtkAD1EUPhg9raR0xliiGXKUVBP57QUp+xkB7EsV9ze7MckTFvnTaiu4MCjywZNQ0WaO9eCgIPXsUG3xL/1sFz2XvtAwoNiN2TI7dqpcaxWYbtgqOve2MZ49ixMflMn6uK3zfvXAp2W8t9blSVpHQAgplZ4SNxDCyttElxbD8xcfYEb6suaV4ksEyCnQpGxSs6yw70VPlCf7ZjZyjAQpauPX/DtfVhY8Xp80zgoKhlu8arjq8tSuYvmlo1zAKcT0HBV3ecwwKlhwbebxT/k6WyeG9I5u+jZy1ZHpqoOBbchLJq3hPfSMojrag8NqzG/6jXojkvvbacRWT6wrzQOZ2LsBvFURLjEy6QbgNnujZhpAsLUvdVSjwzIkKinJCfpSgZ/fGzifB9a5BgZGqyrH3ISer87cPUHgjpyPYRN9snrR37LgWsb7Ic3HD4kCODsx2Qdbihj6sa87mDFm3z6Tm7Ovsn01YYkMXq/AjinKqfLkQp4nGyrGP5IZidoKaD58711JE+OXXGnEe2uy7GB67niB9WCwXS5ynesKzenq8i3/19JjtO3cNPjYbNdZ5aSnpbxL0u6W/kfNpJ9+/DlODwn8ktw1pE/MnjsaZxhPXCnXnJV6M4448/3RNCPF61t9meyYxPSYKNVPFLvF+4AEFVmXJVhLbTZ/W+vaJiLSc5PTwaQ0FuibjZvgp+/GRMMNF7nGcPNbdgU0IUDMIif8IUbx/AXt7yNI= -sidebar_class_name: "get api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Get all lists"} -> -</Heading> - -<MethodEndpoint - method={"get"} - path={"/lists"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Get all lists - -<ParamsDetails - parameters={undefined} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={undefined} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"200":{"description":"Object with all lists data.","content":{"application/json":{"schema":{"type":"object","properties":{"lists":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"icon":{"type":"string"},"parentId":{"type":"string","nullable":true},"type":{"type":"string","enum":["manual","smart"],"default":"manual"},"query":{"type":"string","nullable":true}},"required":["id","name","icon","parentId"],"title":"List"}}},"required":["lists"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/get-all-tags.api.mdx b/docs/versioned_docs/version-v0.24.0/API/get-all-tags.api.mdx deleted file mode 100644 index d0e7bdf0..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/get-all-tags.api.mdx +++ /dev/null @@ -1,63 +0,0 @@ ---- -id: get-all-tags -title: "Get all tags" -description: "Get all tags" -sidebar_label: "Get all tags" -hide_title: true -hide_table_of_contents: true -api: eJyFVE1v2zAM/SsGz0Kc7uhbCmxFt8MKzMMOQQ6MzcSqP6RKdDbD0H8fKLtp4gbtSbZFPj7yPXqEknzhtGVtOsjggTjBpkkYjx4UxCPbQi7nToGnoneaB8i2I+wJHblNzxVk213YKXDkrek8echG+LJey3GN/3P/TAUnfzVX5zpJiYwrUFCYjqljyUJrG12gZKXPXlJH8EVFLcoTD5YgAxPBQIF1xpJjPRWeSJ+j0DkcQIFmav3n2bq8iPHsdHeEoKDDlm5f9O29MXWLrr5E7/p2T24ZcD9smLGoqMxj2GdkUN+ErPoWuxs3IQQR4aXXjkrRTZcwU18Q/ZDWTgFrbgQ5xyO8Q40D3oWpXEtcmRIyOFLkj2IHSGcDeXIncj76pXcNZDBiWTryPqRodXq6AwUndBr3zdzydD1Z54B9w5BBxWx9lqbshlWNDmsiu0JrQS38lVeUzAiJOSRcUfJjjk8mLtLOhZN/iammypd+Po9WKksfMQyyOQjU/PDNuBaF4fc/Ocg4dHcwki5dT5TuVuvVGt5GeuazeXq8yX/z9JgcjLsmL80GBdZ4nrWfHLnc2Cu48W2l3m321B7TP05tg7oT9KjQOGv4qrOCyniW93Hco6ffrglBPr/05ORPsHtTMP4IFFSEJbkoek0DZLApCrIcpW76uJTL/RZNzlZ6+JqDArxWYjH5iP664t1wgT2OU0RuaupCADWTYHmHIMb9D+rOsgM= -sidebar_class_name: "get api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Get all tags"} -> -</Heading> - -<MethodEndpoint - method={"get"} - path={"/tags"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Get all tags - -<ParamsDetails - parameters={undefined} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={undefined} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"200":{"description":"Object with all tags data.","content":{"application/json":{"schema":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"numBookmarks":{"type":"number"},"numBookmarksByAttachedType":{"type":"object","properties":{"ai":{"type":"number"},"human":{"type":"number"}}}},"required":["id","name","numBookmarks","numBookmarksByAttachedType"],"title":"Tag"}}},"required":["tags"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/get-current-user-info.api.mdx b/docs/versioned_docs/version-v0.24.0/API/get-current-user-info.api.mdx deleted file mode 100644 index 17789a8b..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/get-current-user-info.api.mdx +++ /dev/null @@ -1,63 +0,0 @@ ---- -id: get-current-user-info -title: "Get current user info" -description: "Returns info about the current user" -sidebar_label: "Get current user info" -hide_title: true -hide_table_of_contents: true -api: eJyNUz1v2zAQ/SvCmwnL7cjNQxukHRq0DjoYHmjpHDGWSIY8pTUE/vfiKCGxkw7RIom8j3fvvZvQUmqiDWy9g8ZP4jG6VFl39JU5+JEr7qhqxhjJcTUmilBg85Cgd7hPFBP2ComaMVo+Q+8mHMhEipuRO+jdPu8VIqXgXaIEPeHzei2v674/Do/UcPXHcleaVK1hs4JC4x2TY8kwIfS2MZJRPyZJm5CajgYjX3wOBA1fCkEhRB8osp2b2vYiJnG07gFZwZmB3l8ouLHvzaEnaI4jZQUajO0/EJll2KfRRmqFINtin+VRGIg730LjgQo8I/SglmFTPRCExPgsfAqHY+yhMZm2jZRSrk2w9fMnKDybaKVfmWq5nuk8mrFnaHTMIem65nhenUw0J6KwMiFAveF821G1VKj8sej8fYmvZizIOV+o+0vInjtfavxCinSWOUoY9BIEtXx89XEwgvDb7y2EEjGZpMvUM6RPq/VqLQazLJTiBc/m7va/+Dd3t9XRx2vwMmxWCD7xYIpNZp1xQ3xl5WLzt3WnV899dB3m8Zn+ch16Y510LwpOi847FJ0hNpB96XxiOZ2mg0l0H/uc5fhppCg7tH/VuayQQkempViscaIzNDZNQ4GLIfpRur/bDlHuxXQ3X7ZQMNd6vdGnVF+ujDtf1J6mOWLrT+RyhlpAsPwji8X/AXJleBo= -sidebar_class_name: "get api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Get current user info"} -> -</Heading> - -<MethodEndpoint - method={"get"} - path={"/users/me"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Returns info about the current user - -<ParamsDetails - parameters={undefined} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={undefined} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"200":{"description":"Object with user data.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","nullable":true},"email":{"type":"string","nullable":true}},"required":["id"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/get-current-user-stats.api.mdx b/docs/versioned_docs/version-v0.24.0/API/get-current-user-stats.api.mdx deleted file mode 100644 index 51ca8256..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/get-current-user-stats.api.mdx +++ /dev/null @@ -1,63 +0,0 @@ ---- -id: get-current-user-stats -title: "Get current user stats" -description: "Returns stats about the current user" -sidebar_label: "Get current user stats" -hide_title: true -hide_table_of_contents: true -api: eJyNU8Fu2zAM/RWDZyFOd/QtA9au24AVW4odghwUh4nV2JJKUdkCQ/8+UPbaOG2A5RIlpPie3nvsYYuhJuPZOAsV/ECOZEMRWHMo9MZFLrjBoo5EaLmIAQkUsN4HqFbwGJACrBUErCMZPkG16mGDmpAWkRuoVuu0VkAYvLMBA1Q9fJjP5WsK/H3zhDUXvw03GWRgMAMFtbOMluWK9r41tZYr5VOQez2EusFOy4lPHqEClyeBAk/OI7EZUG3sPjp36DQdwlm3jd0GCZKS060+OjKMVxsWVDfmiNtr9WXW5f3aNxP4avGz2Tet2TfvdiQR8DkaEuDV9CUXvKcsXzmdMbjEWyf5KOiQG7eFCvaY1dNiH5RiRig7LLMhIFbTUVwXpyO1UEGvt1vCEFKpvSmPN6DgqMnoTTsoOZYH03c6tgwVNMw+VGXJdJodNOkDop9p70FdJGPZYDFOKNwup/Hr2F8MXCCldJbBn5KIAfk8iS+yCrK8I7dBNTaBGg+3jjotDL/8Wmbtjd05uS6vHijdzOazuayB4VYmvPBZPNy/y3/xcF/sHE3Jy2OTAu8Cdzpn2epM6A55snDFP+kng/vXzfjvtR0EYPzDpW+1sYKfPexHv1eQ/QaJg2iUgdcKGhdYqn2/0QEfqU1J/n6OSLLz61fH88oraFBvkXJIDniCChZ1jZ5zNNooLN4ss3j4EsK7T0tQoKfOXTiVp48lbU9ns/t+6Fi6A9qUQI0kWH5Dksj/BT5muKk= -sidebar_class_name: "get api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Get current user stats"} -> -</Heading> - -<MethodEndpoint - method={"get"} - path={"/users/me/stats"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Returns stats about the current user - -<ParamsDetails - parameters={undefined} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={undefined} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"200":{"description":"Object with user stats.","content":{"application/json":{"schema":{"type":"object","properties":{"numBookmarks":{"type":"number"},"numFavorites":{"type":"number"},"numArchived":{"type":"number"},"numTags":{"type":"number"},"numLists":{"type":"number"},"numHighlights":{"type":"number"}},"required":["numBookmarks","numFavorites","numArchived","numTags","numLists","numHighlights"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/remove-a-bookmark-from-a-list.api.mdx b/docs/versioned_docs/version-v0.24.0/API/remove-a-bookmark-from-a-list.api.mdx deleted file mode 100644 index 8a7cb34e..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/remove-a-bookmark-from-a-list.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: remove-a-bookmark-from-a-list -title: "Remove a bookmark from a list" -description: "Remove the bookmarks from a list" -sidebar_label: "Remove a bookmark from a list" -hide_title: true -hide_table_of_contents: true -api: eJzNVMFu2zAM/RWBpw3Q4nTosMK3DOuAbsVQdBl2CHJgbCZWY1uqJKfJDP37QNmNkzYrdhiGnWzLj+Lj4yNbyMllVhmvdA0p3FKlNyR8QWKh9bpCu3ZiaXUlUJTKeZDgceUgncG1ct7BXIKjrLHK7yCdtbAgtGQnjS8gnc3DXIJBixV5si4CXFZQhZC24HeGIAXnrapXIIG2WJmSjxSpvNzuVtXD3cV7vf35rth6r7MLzq58hHD2qxyCBEv3jbKUQ+ptQxJqrBhQdgAJiusy6AsI8q+l/9CL8yKFxQA6ojHnCGd07cgxk7fjc34cd+KrFpmuPdVevDnqh3hAJzDPKaY+H4+fxz6yE1hawnwnau2Fqh872N/LcWhMqTLkuOTOcfAJifTijjIONFYbsl51tDOd03Mhg4SKnMPVqX9HWs26Gwb8PIQQSzohB/dbaDuowCUtdVPn/3tBMd4XOocUcirJMyIaIYWEO+KStjNrSPYzl7SDeQLwjNnN4wQ1toQUWsxzS86FBI1KNmcgYYNW4aLsiul/d0ousSk9pFB4b1yaJN7uRmu0uCYyIzQG5BO5pwWJ/gahl9F/X3q86LhACOFg+L+xxl3mwxWwF4wzcx0RxrMRQSD7l0/aVsgMP/+YRlVVvdQczlV3lM5G49H4YAT3fCY3Vyf5T26uxFLbY/JcbJBgtPMVRnf0w9pvPhwcdrz2ju5vB8v90crsNPC09YkpUdVMIbax7Z0wi/vKgYR0v7j2t/HpwS6ZSyi08xzUtgt09N2WIfDxfUOW1/B88EJ0TK4cv+eQLrF09EIxr257N78Wv+PdH2K9i5YrG/4CCWvaDWuXV+0/zHqgTpgHCQVhTjbW3gEmWUbGH4Q+2xNs5v2cfry8vpxeggQ8dvET18YEJ5m1bYeY6jXVIeyJev5mjiH8AkTPj4c= -sidebar_class_name: "delete api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Remove a bookmark from a list"} -> -</Heading> - -<MethodEndpoint - method={"delete"} - path={"/lists/{listId}/bookmarks/{bookmarkId}"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Remove the bookmarks from a list - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={[{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"ListId"},"required":true,"name":"listId","in":"path"},{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"BookmarkId"},"required":true,"name":"bookmarkId","in":"path"}]} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={undefined} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"204":{"description":"No content - the bookmark was added"},"400":{"description":"Bookmark already not in list","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}},"404":{"description":"List or bookmark not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/replace-asset.api.mdx b/docs/versioned_docs/version-v0.24.0/API/replace-asset.api.mdx deleted file mode 100644 index 3421b7f4..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/replace-asset.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: replace-asset -title: "Replace asset" -description: "Replace an existing asset with a new one" -sidebar_label: "Replace asset" -hide_title: true -hide_table_of_contents: true -api: eJy9VE2P4zYM/SsCT11AO54ttujCt2yxBaYFisE0ix6CHBibiTWxJa1EzyQ19N8Lys7XTDpAgUUvgSOR1HuPjxygplgF49k4CyU8kG+xIoVW0c5ENnajMEZi9Wy4UagsPStnCTQwbiKUC/js3LbDsI2w1BCp6oPhPZSLAVaEgcKs5wbKxTItNXgM2BFTiDkgVg11COUAvPcEJUQOxm5AA+2w860cGTJ1u9tvuufHTz+73d8/NTtmV30SBIZzyAHBXQ1JQ6BvvQlUQ8mhJw0WOwlanYI0GOHqkRtI+rvBmIlOb2LAKeICwHIMp8ifXb0XFJctmTeUVR/bwE6FqUfSEdBQOctkWRLR+9ZUKInFY5TsK+Tc6pEqBg0+OE+BDcWcO2F7pUK64LM4Bi5TGq+idzaORX68/fiawB9OTRjV+4OZMB5o1Cr2VUUxrvu23Yt4H68VOfRYWcdq7Xpbfz/qlavpCm8NHcWIm2t3LzTJFU7xWZqcz42rpdN9flX6XUJxsGIshpMrU5GlicUwCZxAxik8HYalDy2UMGBdB4oxFehN8fQBNDxhMLhqpzaO16OAa+xbhhIaZh/LouCwv9liwC2Rv0HvQV/x2lRBubXihtTvU7wasUBK6WzO/xSJx5fPp/2ol7wsPHKYTGEOAj19/OpCh4Lwt7/mWVRp3cNpGr4c5u/Mn2f9MXbt5E40Ggl8uLm9uT2bySP62f3dVbaz+zu1duGSqkiTNHgXucNspWmAj+tRwLysN5z8+J/26KgU044L36Kx8nRu9jA5ZnFcXhE0lBebbDSNHB/nUkPjIkvaMKww0tfQpiTH33oKspmXJ89kZ9UmyncN5RrbSG/Q+uFhMv079W/Ip0O0+2zNtpd/oGFL+8stLJv3f3z5IE9aJg0NYU0hkx9vfxkfej+XGqfsV1tFQI8Zs6oiz2/GLs82wP3Xubh+2vBd3jgQ8Bl0/s1AXeadhymfDdCi3fR5A8FYUmYEL0fsxUhlUlelGIYxYu62ZFM6KsPyX3RJ6R8BPcUh -sidebar_class_name: "put api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Replace asset"} -> -</Heading> - -<MethodEndpoint - method={"put"} - path={"/bookmarks/{bookmarkId}/assets/{assetId}"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Replace an existing asset with a new one - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={[{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"BookmarkId"},"required":true,"name":"bookmarkId","in":"path"},{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"AssetId"},"required":true,"name":"assetId","in":"path"}]} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={{"description":"The new asset to replace with","content":{"application/json":{"schema":{"type":"object","properties":{"assetId":{"type":"string"}},"required":["assetId"]}}}}} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"204":{"description":"No content - asset was replaced successfully"},"404":{"description":"Bookmark not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/search-bookmarks.api.mdx b/docs/versioned_docs/version-v0.24.0/API/search-bookmarks.api.mdx deleted file mode 100644 index 1c5a935f..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/search-bookmarks.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: search-bookmarks -title: "Search bookmarks" -description: "Search bookmarks" -sidebar_label: "Search bookmarks" -hide_title: true -hide_table_of_contents: true -api: eJzNWEtv4zYQ/ivCXNoCgp3t0Tdv0BZp0d2gSdFDoMNYGllcU6TCh7Ouof9eDCVbskMnSjdAe4oizgy/eWo+76EgmxvROKEVLOCO0ORVstJ6U6PZWEjB4drC4gE+Ht9lKVjKvRFuB4uHPawIDZmldxUsHrI2S6FBgzU5MjYI2LyiGmGxB7drCBZgnRFqDW0Khh69MFTAwhlPKSisWeARUhAM6NGT2UGbRowoX6/InBopUdrBihS1cBMs9XBScMJJfnHtjdUvms47iddtr7SWhApSKKhEL93B09PA35SJJZc4nYTTYwa+s0mulSPlkichZbKiRKhc+oKKRKjEVZQYso1WlmbJJ+0oTVwlBqUcFetINGtKSm0Sq2sa8juL+vg/gXYMdm/2ulM8C3rGDnTXWI77j1dX/OfUh8+rL5QzTlcFYLarc0PWSxeu6lGxKjaNFDmy6vyLZf1IXnWwCCk0RjdknOhuHzpnEEVjcMeoHdX2dROiiHZKbggdFUsXPa11IUoRP05BeSlxxaXNKWyPhT5BkuMktlRESrpNocSt5kFw6dzhei3U+s6h8/b1+1Ig5WueNtbnOVmePyUK6Q1xmEgVrJW1KSjtpuG3vq7R7KZFJYy6d85bV8ORA3QO84qKj1Fwh0CggBQqX6OCrD1p1ge+sbd/Yi3IjepZK/pchkH8sgPd6WUoUqhNCL43MurR9Ko66c4J8qLGNf0Zu/aS8NJacjeRlMRqJDdEylbavUWr9FLe8k1dh7xFtTGUG3ySVPwL5a0oSL8JKG5FPjHQlavl9VA6r8of3Jgmjd5V2kwLkV9JYSuaJl2go9teY1pQWOP3fmhOUDjrvCDdNULGn/1vayxHX11orPAQ6yyrvcknNkAc6uGOb8WKXHgBbHi6f0U89CJfUpSDUqxuuU6FpE/RaRnr2TdEJAUr/h6b7VfHWD1Prv14mIegDL6+Q9S92ij9FPkEBIWsPYb2/b9fk9I8TNCD33fjNytUisxNXwtngxP6kcZy/fYUphtE5iT33KVQhK/hgDZrowLDGnWyNI0WnZOt5nyF6ZeEoVCOcc8G+nCgSsAIFH11PZ94c1GNedjIzuiqW1wLxQ4N9Kxtg+c1uUoXsIB1F0pkegbzo8l5twMDkzmzPVC18GmHPRaFIWvbOTZivv3AKUIjGGgolf6427N7VgOVc41dzOfO7GYbNLghambYNHBOKO4rSnoLiS7DPv5bL590WNiHEcu84+W7369HXPMYTb6Z/QhivIAGIa6n8PCzNjUywl//ug8pEarUrM5ed5A+zK5mVyMCeMSzvL2J4l/e3gTOcgKeneVPl7aO97XF/kBgIrT6bAM6zp0oBe/c5BE+bySKsFr3S1iX19NS6TObpVBp6/h0v1+h5WnZtvy6o06c70JYzuoF7jfG9f0ffWH+kFyCtKFdz923KD2fB0787I5O7sDOp8ge6fbLwhfB/4cc9oVIPeO1g3fZ0HHhR5UUKsKCt6GHfa+9zHNqxlrPeCtbOY6BX366h24DG1O1004ZkwRUu5Ht/b6TuNcbUm0LBxcc/w8tD9t/ABEfUog= -sidebar_class_name: "get api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Search bookmarks"} -> -</Heading> - -<MethodEndpoint - method={"get"} - path={"/bookmarks/search"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Search bookmarks - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={[{"schema":{"type":"string"},"required":true,"name":"q","in":"query"},{"schema":{"type":"number"},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","title":"Cursor"},"required":false,"name":"cursor","in":"query"},{"schema":{"type":"boolean","default":true,"description":"If set to true, bookmark's content will be included in the response. Note, this content can be large for some bookmarks."},"required":false,"description":"If set to true, bookmark's content will be included in the response. Note, this content can be large for some bookmarks.","name":"includeContent","in":"query"}]} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={undefined} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"200":{"description":"Object with the search results.","content":{"application/json":{"schema":{"type":"object","properties":{"bookmarks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"createdAt":{"type":"string"},"modifiedAt":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"archived":{"type":"boolean"},"favourited":{"type":"boolean"},"taggingStatus":{"type":"string","nullable":true,"enum":["success","failure","pending"]},"note":{"type":"string","nullable":true},"summary":{"type":"string","nullable":true},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"attachedBy":{"type":"string","enum":["ai","human"]}},"required":["id","name","attachedBy"]}},"content":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["link"]},"url":{"type":"string"},"title":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"imageUrl":{"type":"string","nullable":true},"imageAssetId":{"type":"string","nullable":true},"screenshotAssetId":{"type":"string","nullable":true},"fullPageArchiveAssetId":{"type":"string","nullable":true},"precrawledArchiveAssetId":{"type":"string","nullable":true},"videoAssetId":{"type":"string","nullable":true},"favicon":{"type":"string","nullable":true},"htmlContent":{"type":"string","nullable":true},"crawledAt":{"type":"string","nullable":true},"author":{"type":"string","nullable":true},"publisher":{"type":"string","nullable":true},"datePublished":{"type":"string","nullable":true},"dateModified":{"type":"string","nullable":true}},"required":["type","url"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"sourceUrl":{"type":"string","nullable":true}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["asset"]},"assetType":{"type":"string","enum":["image","pdf"]},"assetId":{"type":"string"},"fileName":{"type":"string","nullable":true},"sourceUrl":{"type":"string","nullable":true},"size":{"type":"number","nullable":true},"content":{"type":"string","nullable":true}},"required":["type","assetType","assetId"]},{"type":"object","properties":{"type":{"type":"string","enum":["unknown"]}},"required":["type"]}]},"assets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"assetType":{"type":"string","enum":["screenshot","assetScreenshot","bannerImage","fullPageArchive","video","bookmarkAsset","precrawledArchive","unknown"]}},"required":["id","assetType"]}}},"required":["id","createdAt","modifiedAt","archived","favourited","taggingStatus","tags","content","assets"],"title":"Bookmark"}},"nextCursor":{"type":"string","nullable":true}},"required":["bookmarks","nextCursor"],"title":"PaginatedBookmarks"}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/sidebar.ts b/docs/versioned_docs/version-v0.24.0/API/sidebar.ts deleted file mode 100644 index 7a15818c..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/sidebar.ts +++ /dev/null @@ -1,240 +0,0 @@ -import type { SidebarsConfig } from "@docusaurus/plugin-content-docs"; - -const sidebar: SidebarsConfig = { - apisidebar: [ - { - type: "doc", - id: "API/karakeep-api", - }, - { - type: "category", - label: "Bookmarks", - items: [ - { - type: "doc", - id: "API/get-all-bookmarks", - label: "Get all bookmarks", - className: "api-method get", - }, - { - type: "doc", - id: "API/create-a-new-bookmark", - label: "Create a new bookmark", - className: "api-method post", - }, - { - type: "doc", - id: "API/search-bookmarks", - label: "Search bookmarks", - className: "api-method get", - }, - { - type: "doc", - id: "API/get-a-single-bookmark", - label: "Get a single bookmark", - className: "api-method get", - }, - { - type: "doc", - id: "API/delete-a-bookmark", - label: "Delete a bookmark", - className: "api-method delete", - }, - { - type: "doc", - id: "API/update-a-bookmark", - label: "Update a bookmark", - className: "api-method patch", - }, - { - type: "doc", - id: "API/summarize-a-bookmark", - label: "Summarize a bookmark", - className: "api-method post", - }, - { - type: "doc", - id: "API/attach-tags-to-a-bookmark", - label: "Attach tags to a bookmark", - className: "api-method post", - }, - { - type: "doc", - id: "API/detach-tags-from-a-bookmark", - label: "Detach tags from a bookmark", - className: "api-method delete", - }, - { - type: "doc", - id: "API/get-highlights-of-a-bookmark", - label: "Get highlights of a bookmark", - className: "api-method get", - }, - { - type: "doc", - id: "API/attach-asset", - label: "Attach asset", - className: "api-method post", - }, - { - type: "doc", - id: "API/replace-asset", - label: "Replace asset", - className: "api-method put", - }, - { - type: "doc", - id: "API/detach-asset", - label: "Detach asset", - className: "api-method delete", - }, - ], - }, - { - type: "category", - label: "Lists", - items: [ - { - type: "doc", - id: "API/get-all-lists", - label: "Get all lists", - className: "api-method get", - }, - { - type: "doc", - id: "API/create-a-new-list", - label: "Create a new list", - className: "api-method post", - }, - { - type: "doc", - id: "API/get-a-single-list", - label: "Get a single list", - className: "api-method get", - }, - { - type: "doc", - id: "API/delete-a-list", - label: "Delete a list", - className: "api-method delete", - }, - { - type: "doc", - id: "API/update-a-list", - label: "Update a list", - className: "api-method patch", - }, - { - type: "doc", - id: "API/get-a-bookmarks-in-a-list", - label: "Get a bookmarks in a list", - className: "api-method get", - }, - { - type: "doc", - id: "API/add-a-bookmark-to-a-list", - label: "Add a bookmark to a list", - className: "api-method put", - }, - { - type: "doc", - id: "API/remove-a-bookmark-from-a-list", - label: "Remove a bookmark from a list", - className: "api-method delete", - }, - ], - }, - { - type: "category", - label: "Tags", - items: [ - { - type: "doc", - id: "API/get-all-tags", - label: "Get all tags", - className: "api-method get", - }, - { - type: "doc", - id: "API/get-a-single-tag", - label: "Get a single tag", - className: "api-method get", - }, - { - type: "doc", - id: "API/delete-a-tag", - label: "Delete a tag", - className: "api-method delete", - }, - { - type: "doc", - id: "API/update-a-tag", - label: "Update a tag", - className: "api-method patch", - }, - { - type: "doc", - id: "API/get-a-bookmarks-with-the-tag", - label: "Get a bookmarks with the tag", - className: "api-method get", - }, - ], - }, - { - type: "category", - label: "Highlights", - items: [ - { - type: "doc", - id: "API/get-all-highlights", - label: "Get all highlights", - className: "api-method get", - }, - { - type: "doc", - id: "API/create-a-new-highlight", - label: "Create a new highlight", - className: "api-method post", - }, - { - type: "doc", - id: "API/get-a-single-highlight", - label: "Get a single highlight", - className: "api-method get", - }, - { - type: "doc", - id: "API/delete-a-highlight", - label: "Delete a highlight", - className: "api-method delete", - }, - { - type: "doc", - id: "API/update-a-highlight", - label: "Update a highlight", - className: "api-method patch", - }, - ], - }, - { - type: "category", - label: "Users", - items: [ - { - type: "doc", - id: "API/get-current-user-info", - label: "Get current user info", - className: "api-method get", - }, - { - type: "doc", - id: "API/get-current-user-stats", - label: "Get current user stats", - className: "api-method get", - }, - ], - }, - ], -}; - -export default sidebar.apisidebar; diff --git a/docs/versioned_docs/version-v0.24.0/API/summarize-a-bookmark.api.mdx b/docs/versioned_docs/version-v0.24.0/API/summarize-a-bookmark.api.mdx deleted file mode 100644 index ac5f5e18..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/summarize-a-bookmark.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: summarize-a-bookmark -title: "Summarize a bookmark" -description: "Attaches a summary to the bookmark and returns the updated record." -sidebar_label: "Summarize a bookmark" -hide_title: true -hide_table_of_contents: true -api: eJytVU2P2zYQ/SvCnFqAsJwiRQPdnEOBbQ9ddLfowfBhLI4triWSIUeOHYH/vRhK/tp1mhxyksT5evP4ZjSAplgH49k4CxUsmLFuKBZYxL7rMBwLdgU3VKyd23UYdgVaXQTiPtiYDb3XyCRntQt6BgoYtxGqJXycQiKsFESq+2D4CNVygDVhoLDouYFquUorBR4DdsQUYnaIdUMdQjUAHz1BBZGDsVtQQAfsfCtHhoxuD8dt9/nlw2/u8OXX5sDs6g+CwHB2OSF40JAUBPrUm0AaKg49KbDYidP64qTACAseuQFBFSh6ZyNFQfLLfC6PW8Kerxg4U/TZcHPiDxTUzjJZlmD0vjU1SnD5EiXDnV7d+oVqBgU+OE+BzVjf6Ld8JAV1IKm+4LvWzmmzMffNCmzftrgWqoSRdCbuOzwx1I3Z0zWmtXMtoZWyG9w7ue6v2Rm3W2O3T4zcx2/XU0C270RTsa9rihGkhGn7QEITWS1Rq6TAOv4+/Kfr+bbvjXKWcg3XpN9QfEXLDQevG16lJGnfz9+/VdRJs4V1XGxcb/WPk1Dt9B12RCYUI27v2V51nzNc/HMjOZ4bp2V0XMxlZYIqKE8jEcvhMmapHMk3XyRVpLA/jX0fWqhgQK0DxZhK9KbcvwMFewxGriR3MZlH6jbYtwwVNMw+VmXJ4TjbYcAdkZ+h96DuTOyUoXCbvML+nPyLEQuklK421pOQO1a+3ltnpqSy9JHdRObZCdT08rsLHQrCP/59znQau3ESLl2PkN7N5rP51do641k8PtzFv3h8KDYu3IKXZpPKN9BhlsW04J5ObBd43lGv0w4Xif2gn8BIDtOBS9+iyWOf73eY1LE8b14Z5+pmDV8EslLQiKaqJQzDGiP9E9qU5PhTTzK/y9VFHllE2kR511BtsI30P43+9Pek7J+LryGeDtEeswrbXr5AwY6Ot7+OJNunIdQUMorRYVHX5Pkq9M30itLO0/P419OzLJFbgb0SVE5/F9cwjB7Pbkc2pTNMlm9BmNJ/SMy/hg== -sidebar_class_name: "post api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Summarize a bookmark"} -> -</Heading> - -<MethodEndpoint - method={"post"} - path={"/bookmarks/{bookmarkId}/summarize"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Attaches a summary to the bookmark and returns the updated record. - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={[{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"BookmarkId"},"required":true,"name":"bookmarkId","in":"path"}]} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={undefined} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"200":{"description":"The updated bookmark with summary","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"createdAt":{"type":"string"},"modifiedAt":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"archived":{"type":"boolean"},"favourited":{"type":"boolean"},"taggingStatus":{"type":"string","nullable":true,"enum":["success","failure","pending"]},"note":{"type":"string","nullable":true},"summary":{"type":"string","nullable":true}},"required":["id","createdAt","modifiedAt","archived","favourited","taggingStatus"]}}}},"404":{"description":"Bookmark not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/update-a-bookmark.api.mdx b/docs/versioned_docs/version-v0.24.0/API/update-a-bookmark.api.mdx deleted file mode 100644 index aa0c8c20..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/update-a-bookmark.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: update-a-bookmark -title: "Update a bookmark" -description: "Update bookmark by its id" -sidebar_label: "Update a bookmark" -hide_title: true -hide_table_of_contents: true -api: eJytVk2P2zYQ/SvCnFpAtb1Figa6OUGCbj/QRbJBD4YPI3FscS2RCkl5rQr678VQsj52tRsBzR4WJjUkh2/ee8MaBNnEyMJJrSCCL4VAR0Gs9SlHcwriKpDOBlJACA6PFqIdvOs+WtiHYCkpjXQVRLsaYkJDZlu6FKLdvtmHUKDBnBwZ6wNsklKOENXgqoIgAuuMVEcIgS6YFxlPSZIiu1TH/PHh7a/68u8v6cU5nbzlDKTzIdcMbgU0IRj6WkpDAiJnSgpBYc5B8RAUguTLFehS4Kx4BVn3TouKc5lCcJ9SINBh4HRQejhWwd8qqwKXUnCQlAkbVLoMHlG5ISZQRIKHMQWF0WcpSKwghEQrR8rxMVgUmUyQj1k/WD5rBhAdP1DiIITC6IKMk2T9WpOk8sx37CNjrTNCxQgc8Ky5Ci99t2Weo6nmcFdllmHMqDJ4TQhKO3oe2PTgf2uLEHK8/EnqyCS42Ww2TQiJIXQktm5RBqXJ5uIO2uToIILSSM5nUrUF22LpUm0WhRZlnEmb0rJoLv9dt0IsXvGXFvIgFy5wdFmGHVpL7v3AuW8s8H+sB1toZVuq/bzZzIuiJbrozeH7sVvOoPA6bZoQ8g7AhaxaSF/G8H9pzeHxKNXxs0NX2iVyIVXmbKu2TBKylpmOMisNMUykBK/avyjMmfyXq31injvwLj+APoF4BMsEg6cX3reMerN585xEV9sOlHbBQZdKfD8KJVrM21ZO1uJx7tuT2/sdhvh9p42cXKpF2z2SlM/lLhLB+ioDu66HVtMAt0RzvjY872VQoxCGrG3WWMj1+QZCOKORXInW3dvPLWIHLDO2udS5wkbrtTPV6oQGT0TFCosCwhltdjsE+uDb1B9dfNDmAk3TjHr1Z8a0PXncsXuA+GS+hw9jdvsgCLsfH69G/Ps/9x5FrtWnoaV+uLbycdtquT4WTzvTk3VEUk/0YXzt+v3EyBeGyRbpfjiFqJ++NoFhZuT1o9VTS59+GJx7lKM36NE5Ex8e0VGqg2ZkmCFtbjerzWozumZfu+3d7Wytt3e3wUGbaaGZGNy5tHU5euV0z6DuRYdj237SOnsJvv78a8nBN10XGUrvdl2vbjWx699c7GLR6AG2DyHV1nFIXcdo6YvJmoanv5bE1d/tB0l44Qhp+beA6ICZpVdy/uFTJ+Ifg5ey7CZRVV55WckjCOFE1fSh2LDRpoSC6bCru4Cujj/d8zbDBs/sqgmvK7ZJQoV7NXY/spa77f3731hf3YM092YGBh8h9P99ttpf3svWz9WQoTqW3tyg3bTp3jnj1jQVr7/WLB513Ubc6xOppunhcTxmZJrmP/ieNbs= -sidebar_class_name: "patch api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Update a bookmark"} -> -</Heading> - -<MethodEndpoint - method={"patch"} - path={"/bookmarks/{bookmarkId}"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Update bookmark by its id - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={[{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"BookmarkId"},"required":true,"name":"bookmarkId","in":"path"}]} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={{"description":"The data to update. Only the fields you want to update need to be provided.","content":{"application/json":{"schema":{"type":"object","properties":{"archived":{"type":"boolean"},"favourited":{"type":"boolean"},"summary":{"type":"string","nullable":true},"note":{"type":"string"},"title":{"type":"string","nullable":true,"maxLength":1000},"createdAt":{"type":"string","nullable":true},"url":{"type":"string","format":"uri"},"description":{"type":"string","nullable":true},"author":{"type":"string","nullable":true},"publisher":{"type":"string","nullable":true},"datePublished":{"type":"string","nullable":true},"dateModified":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"assetContent":{"type":"string","nullable":true}}}}}}} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"200":{"description":"The updated bookmark","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"createdAt":{"type":"string"},"modifiedAt":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"archived":{"type":"boolean"},"favourited":{"type":"boolean"},"taggingStatus":{"type":"string","nullable":true,"enum":["success","failure","pending"]},"note":{"type":"string","nullable":true},"summary":{"type":"string","nullable":true}},"required":["id","createdAt","modifiedAt","archived","favourited","taggingStatus"]}}}},"404":{"description":"Bookmark not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/update-a-highlight.api.mdx b/docs/versioned_docs/version-v0.24.0/API/update-a-highlight.api.mdx deleted file mode 100644 index 03e02440..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/update-a-highlight.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: update-a-highlight -title: "Update a highlight" -description: "Update highlight by its id" -sidebar_label: "Update a highlight" -hide_title: true -hide_table_of_contents: true -api: eJytVcGO2zYQ/RVhTi3A2k6RooFubtAi2x6ySB30YOhAi2OLa4lkyNGuVYH/Xgwl2/Kusi3Q+CRrnmbePL4Z9qAwlF470tZADp+dkoRZpQ9VrQ8VZbsu0xQyrUAAyUOAfAsfztEAhYCAZes1dZBve9ih9OjXLVWQb4tYCHDSywYJfUiAUFbYSMh7oM4h5BDIa3MAAXiSjav5lUat6lN3aJ4e3v1sT3//VJ2IbPmOKWhKkAuFOwVRgMcvrfaoICffogAjG0ZVE5QAzQ06SRUwL/4EA/1iVcdsbmXYVJgpSTIjm7VJkkX20dRdRhVme421Clln2+xJGrpiMoOo+O8OM+fto1aoFiCgtIbQEJeRztW6lFxm+RC41owkdveAJYEA561DTxoDR0tbWz+rnGkbPpcO69o+AffG/R48ogEBu7pFKGL6cSw4a8KQ8sfVar75oSF1NcK3a2Nn7bGR/ninXvYSBQSSnj7u9wFpEjdts0PPcTTqlej/00iAwr1sa4L8DIwCCE80l9K0dS13bEc2XRRgLOF/Aur51tuA/iuqlB75PNYzROKN/7dTfW/VnGo3djVyTowu9afVipmRg8FIb1dvX3rnAsqMpWxvW6O+5QCoGX2jgAZDkIe52DNtUoYrvhhnokGqrBq2Q1lxXd4SOSwv9g/LfrJMIiuL/vG81FpfQw69VMpjCHEpnV4+vgEBj9JrPvlEfwwPop1tVhG5kC+X5LvFUXp5RHQL6RyImakcM2R2nxbRHyM+G7jwuUz28Z+s6jhyk618kYgrcx8JBvkI4llID79Z30hm+Ptfm6Qjn9an69L89byuL4tpMjLa7C1HWKGB/pvFarGaLPAL9/X93Wyv6/u7bG/9baMsTBTgbKBGJu+Mm368t+TNwrpJ2l9d+C+33CAPz8fS1VKbNJp8wv3oi+31YgkgIJ9eM4WAygZiUN/vZMDPvo6RX39p0fMlWVxtkcyjdOBnBfle1gFfof3dp9HK32df4zm+lKZL7uOtlgMIOGL37D6MRRRQoVToE40B8X4o9sOG81wzvJjaKM5frMsSHb2KLSYTdr/evP/AJhvv3SbNNHiZdrJ8Guja1H3ybnrXQy3NoU0zDkNStqS8dfQzB6e2ZgXp+wGxsUc0MV70If7PysT4D5kaH2M= -sidebar_class_name: "patch api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Update a highlight"} -> -</Heading> - -<MethodEndpoint - method={"patch"} - path={"/highlights/{highlightId}"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Update highlight by its id - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={[{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"HighlightId"},"required":true,"name":"highlightId","in":"path"}]} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={{"description":"The data to update. Only the fields you want to update need to be provided.","content":{"application/json":{"schema":{"type":"object","properties":{"color":{"type":"string","enum":["yellow","red","green","blue"]}}}}}}} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"200":{"description":"The updated highlight","content":{"application/json":{"schema":{"type":"object","properties":{"bookmarkId":{"type":"string"},"startOffset":{"type":"number"},"endOffset":{"type":"number"},"color":{"type":"string","enum":["yellow","red","green","blue"],"default":"yellow"},"text":{"type":"string","nullable":true},"note":{"type":"string","nullable":true},"id":{"type":"string"},"userId":{"type":"string"},"createdAt":{"type":"string"}},"required":["bookmarkId","startOffset","endOffset","text","note","id","userId","createdAt"],"title":"Highlight"}}}},"404":{"description":"Highlight not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/update-a-list.api.mdx b/docs/versioned_docs/version-v0.24.0/API/update-a-list.api.mdx deleted file mode 100644 index ed2d03e2..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/update-a-list.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: update-a-list -title: "Update a list" -description: "Update list by its id" -sidebar_label: "Update a list" -hide_title: true -hide_table_of_contents: true -api: eJytVd9v2zYQ/leIe9oAznaKDCv05hUrmq7Ags7FHgw/0OLZYiKRLHlKrAn634ejZMtOlBQD4gdD5B3vx3ff3bWgMebBeDLOQgbfvFaEojSRxLYRhqIwGiSQ2kfI1vDFRIqwkRAxr4OhBrJ1C1tUAcOypgKy9abbSPAqqAoJQ0wKMS+wUpC1QI1HyCBSMHYPEvCgKl/ylUGjy0Ozrx7v3v/mDv/+WhyIXP6evRtKKuz9RkMnIeD32gTUkFGoUYJVFSuUvYIEw8l4RQVwNKyNkX53uuEYLlNeFSi0IiXIiTqlPxN/2bIRVKDYGSx1FI2rxaOyNOoIi6j5uEXhg3swGvUMJOTOElpiN8r70uSK3czvIvuaAMJt7zAnkOCD8xjIYGRpn89zuCpjv6DdM9BXEip1OJ6uF528TOz5Y1uXpdoykj1oZ8YWF8auFmzN5FNmulRctIzzD310Er7XGJofpdKlHxcqemdjj8G7xWK6Wn0FdGLp20FuJvLp5AuV+L9gvxmcvcJEH9m64gatlK1VCRJipQJxp2rcqbokyI6y14ryxN9Fp60hjYIEyJDOWfCbyzaFvqDXi+vnNWS5sI7EztVWv10Fc6enS1VhjGo/JXuSYLIw6m8GWlZIhdP9RMmLlDXTFubMwDhv+7HTMeoYHo5Drw4lZNAqrQPG2M2VN/OHK5DwoIJhkFPQg7hH6VipgsjHbD6n0MzuVVD3iH6mvAc50Q6DBeF2aWT9OeiLPhYuxNm8/pux7D2fT+0TMOyZ80hqkA1KIIePjy5UiiP8/M8qocc1+jqO1z+O4/w4wkZqXQZ+uu7bYjyP3TDeDXQ9q6ixO8dOGOze4NVsMVuc7YoTDMvbm0nYlrc3YufCJWaMMbeki1Qpe5bGsBjVceg86f4Tg1/eoD2+hAea+1IZy34SRdqBTuu0viJIyIY9tpFQuEgsatutivgtlF3H1wMi683IpsQ5bSJ/a8h2qoz4Spw/fR14/7N4KbrhUtkmkbas+QQS7rEZd2236SQUqDSGFEEv/ND7+WXFJsbHz7q7k8cXyzxHT6/qbs468Xa5+vCJaTns9Cr1PgT1CDL9p0hdSjyxPd21UCq7r9MsgN4ok1hd9sATzqe0JrFo215j5e7Rdt0JGuIzI9N1/wHzITRF -sidebar_class_name: "patch api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Update a list"} -> -</Heading> - -<MethodEndpoint - method={"patch"} - path={"/lists/{listId}"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Update list by its id - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={[{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"ListId"},"required":true,"name":"listId","in":"path"}]} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={{"description":"The data to update. Only the fields you want to update need to be provided.","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":40},"description":{"type":"string","nullable":true,"minLength":0,"maxLength":100},"icon":{"type":"string"},"parentId":{"type":"string","nullable":true},"query":{"type":"string","minLength":1}}}}}}} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"200":{"description":"The updated list","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"icon":{"type":"string"},"parentId":{"type":"string","nullable":true},"type":{"type":"string","enum":["manual","smart"],"default":"manual"},"query":{"type":"string","nullable":true}},"required":["id","name","icon","parentId"],"title":"List"}}}},"404":{"description":"List not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/API/update-a-tag.api.mdx b/docs/versioned_docs/version-v0.24.0/API/update-a-tag.api.mdx deleted file mode 100644 index 313d77c9..00000000 --- a/docs/versioned_docs/version-v0.24.0/API/update-a-tag.api.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: update-a-tag -title: "Update a tag" -description: "Update tag by its id" -sidebar_label: "Update a tag" -hide_title: true -hide_table_of_contents: true -api: eJytVcGO20YM/ZUBTy0wsZ0gRQPdvEGCbHvoInHQg+EDraGtWUuayQy1a1XQvxccyWt7q91e4oNtiU/DR/I9qgNDMQ/Ws3U1ZPDdG2RSjHu1bZXlqKwBDYz7CNkaVvK70RApb4LlFrJ1B1vCQGHZcAHZetNvNHgMWBFTiAkQ84IqhKwDbj1BBpGDrfeggY5Y+VJuWbKmPLb76vH+w+/u+M9vxZHZ5R8kueUEWeH+1kCvIdCPxgYykHFoSEONlcQ5xTVYKcQjFyBcBEyRb5xphcF1uauClEFGxU41qfSZ+qsuW8UFqZ2l0kTVukY9Ys1njKqJjFxuSfngHqwhMwMNuauZapY06H1pc5Q08/souSba4Lb3lDNo8MF5CmwpSnQo53mz+vSReqJ3dRyg7xaL6aIGokYG+fOIWTNBS7/EV0PdVDfOHSoMh3gBqJtqS+E54KZdMmNekFkl2P+RQTt5ZNFUWE9Ext6dhLOGpOtE/RnRV2ltruQ4Hvt+8X5iCrhXtWO1c01tft4Mcmemm11RjLifFM514emEM34z6qoiLpwZnJMXklcclMFcvD/vkrl6EOuHh5Oxm1BCBh0aEyjGfo7ezh/egoYHDBa35TipITy0aIdNyZBBwexjNp9zaGcHDHgg8jP0HvSEmscTlNslY/454tXARaZwsZO+SSeHzJeb6aktklnqSDDIRhDo8c9nFyoUhn/8vUq9kwl9PS+RT6eVdTLqxQxsvXMSkAYN7N/OFrPFxQ57or68u50sdXl3q3YuXNcpfek1eBd5VPeYelzXOPr86rjuLLkX1/rQEaYjz32JtpYsaajdOP71sPo1ZMN23WgoXGQJdN0WI30PZd/L7R8NBXkfbM7TTxoxNsp/A9kOy0ivkPzl66jSX9VL3MabWLdJZGUjV6DhQO3TC6DfyBogNBQSgSH2cUjzJrn4/Ox/rNjr0xPLPCfPr2I3F7a5W64+fhEVjS+aKhkVAj6CTt+JqEt1J3Gmex2UWO+bZFwYDhXN4bVkn0k0lTXZiq4bECt3oLrvz52Ra+lM3/8LCbK4Xg== -sidebar_class_name: "patch api-method" -info_path: API/karakeep-api -custom_edit_url: null ---- - -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import ParamsDetails from "@theme/ParamsDetails"; -import RequestSchema from "@theme/RequestSchema"; -import StatusCodes from "@theme/StatusCodes"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; -import Heading from "@theme/Heading"; - -<Heading - as={"h1"} - className={"openapi__heading"} - children={"Update a tag"} -> -</Heading> - -<MethodEndpoint - method={"patch"} - path={"/tags/{tagId}"} - context={"endpoint"} -> - -</MethodEndpoint> - - - -Update tag by its id - -<Heading - id={"request"} - as={"h2"} - className={"openapi-tabs__heading"} - children={"Request"} -> -</Heading> - -<ParamsDetails - parameters={[{"schema":{"type":"string","example":"ieidlxygmwj87oxz5hxttoc8","title":"TagId"},"required":true,"name":"tagId","in":"path"}]} -> - -</ParamsDetails> - -<RequestSchema - title={"Body"} - body={{"description":"The data to update. Only the fields you want to update need to be provided.","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}}}}}}} -> - -</RequestSchema> - -<StatusCodes - id={undefined} - label={undefined} - responses={{"200":{"description":"The updated tag","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"numBookmarks":{"type":"number"},"numBookmarksByAttachedType":{"type":"object","properties":{"ai":{"type":"number"},"human":{"type":"number"}}}},"required":["id","name","numBookmarks","numBookmarksByAttachedType"],"title":"Tag"}}}},"404":{"description":"Tag not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} -> - -</StatusCodes> - - -
\ No newline at end of file diff --git a/docs/versioned_docs/version-v0.24.0/02-Installation/02-unraid.md b/docs/versioned_docs/version-v0.30.0/02-installation/02-unraid.md index 52a896c1..52a896c1 100644 --- a/docs/versioned_docs/version-v0.24.0/02-Installation/02-unraid.md +++ b/docs/versioned_docs/version-v0.30.0/02-installation/02-unraid.md diff --git a/docs/versioned_docs/version-v0.24.0/02-Installation/03-archlinux.md b/docs/versioned_docs/version-v0.30.0/02-installation/03-archlinux.md index 63db9d75..de86cdf3 100644 --- a/docs/versioned_docs/version-v0.24.0/02-Installation/03-archlinux.md +++ b/docs/versioned_docs/version-v0.30.0/02-installation/03-archlinux.md @@ -27,7 +27,7 @@ 3. Set up - Environment variables can be set in `/etc/karakeep/karakeep.env` according to [configuration page](/configuration). **The environment variables that are not specified in `/etc/karakeep/karakeep.env` need to be added by yourself.** + Environment variables can be set in `/etc/karakeep/karakeep.env` according to [configuration page](../03-configuration/01-environment-variables.md). **The environment variables that are not specified in `/etc/karakeep/karakeep.env` need to be added by yourself.** 4. Enable service @@ -82,7 +82,7 @@ sudo chown -R karakeep:karakeep /var/lib/karakeep ``` **6. Set Karakeep** -Edit `/etc/karakeep/karakeep.env` according to [configuration page](/configuration). **The environment variables that are not specified in `/etc/karakeep/karakeep.env` need to be added by yourself.** +Edit `/etc/karakeep/karakeep.env` according to [configuration page](../03-configuration/01-environment-variables.md). **The environment variables that are not specified in `/etc/karakeep/karakeep.env` need to be added by yourself.** Or you can copy old hoarder env file to karakeep: ```shell diff --git a/docs/versioned_docs/version-v0.24.0/02-Installation/06-debuntu.md b/docs/versioned_docs/version-v0.30.0/02-installation/06-debuntu.md index 2f3d1113..e500d411 100644 --- a/docs/versioned_docs/version-v0.24.0/02-Installation/06-debuntu.md +++ b/docs/versioned_docs/version-v0.30.0/02-installation/06-debuntu.md @@ -71,4 +71,4 @@ During installation, the script created a configuration file for `meilisearch`, ## Still Running Hoarder? -There is a way to upgrade. Please see [Guides > Hoarder to Karakeep Migration](https://docs.karakeep.app/Guides/hoarder-to-karakeep-migration) +There is a way to upgrade. Please see [Hoarder to Karakeep Migration](../06-administration/08-hoarder-to-karakeep-migration.md) diff --git a/docs/versioned_docs/version-v0.24.0/02-Installation/07-minimal-install.md b/docs/versioned_docs/version-v0.30.0/02-installation/07-minimal-install.md index 5c2ee399..2702e5aa 100644 --- a/docs/versioned_docs/version-v0.24.0/02-Installation/07-minimal-install.md +++ b/docs/versioned_docs/version-v0.30.0/02-installation/07-minimal-install.md @@ -44,6 +44,4 @@ docker run -d \ You **MUST** change the `super_random_string` to a true random string which you can generate with `openssl rand -hex 32`. ::: -Check the [configuration docs](/configuration) for extra features to enable such as full page archival, full page screenshots, inference languages, etc. - - +Check the [configuration docs](../03-configuration/01-environment-variables.md) for extra features to enable such as full page archival, full page screenshots, inference languages, etc. diff --git a/docs/versioned_docs/version-v0.24.0/02-Installation/08-truenas.md b/docs/versioned_docs/version-v0.30.0/02-installation/08-truenas.md index 9b7989c2..9b7989c2 100644 --- a/docs/versioned_docs/version-v0.24.0/02-Installation/08-truenas.md +++ b/docs/versioned_docs/version-v0.30.0/02-installation/08-truenas.md diff --git a/docs/versioned_docs/version-v0.24.0/09-mcp.md b/docs/versioned_docs/version-v0.30.0/05-integrations/03-mcp.md index 514332de..514332de 100644 --- a/docs/versioned_docs/version-v0.24.0/09-mcp.md +++ b/docs/versioned_docs/version-v0.30.0/05-integrations/03-mcp.md diff --git a/docs/versioned_docs/version-v0.24.0/14-Guides/01-legacy-container-upgrade.md b/docs/versioned_docs/version-v0.30.0/06-administration/07-legacy-container-upgrade.md index d95c1c1e..d95c1c1e 100644 --- a/docs/versioned_docs/version-v0.24.0/14-Guides/01-legacy-container-upgrade.md +++ b/docs/versioned_docs/version-v0.30.0/06-administration/07-legacy-container-upgrade.md diff --git a/docs/versioned_docs/version-v0.24.0/07-Development/02-directories.md b/docs/versioned_docs/version-v0.30.0/08-development/02-directories.md index 712e86a1..712e86a1 100644 --- a/docs/versioned_docs/version-v0.24.0/07-Development/02-directories.md +++ b/docs/versioned_docs/version-v0.30.0/08-development/02-directories.md diff --git a/docs/versioned_docs/version-v0.24.0/API/create-a-new-highlight.api.mdx b/docs/versioned_docs/version-v0.30.0/api/create-a-new-highlight.api.mdx index b5340d69..db7e10a0 100644 --- a/docs/versioned_docs/version-v0.24.0/API/create-a-new-highlight.api.mdx +++ b/docs/versioned_docs/version-v0.30.0/api/create-a-new-highlight.api.mdx @@ -7,7 +7,7 @@ hide_title: true hide_table_of_contents: true api: eJztVj1v2zAQ/SvCzaztFJm4uUWLph0SNC46GB7O0tlSLJEMSSUxBP734ig5khwl6JChQzdbd7yPd+8e2UBGLrWF8YVWIOGzJfSUYKLoMcmLfV4W+9yDAI97B3IN307fHGwEOEprW/gjyHUDW0JLdln7HOR6EzYCLN3X5PwnnR1BNmepVjn1GRKvkzTmBgGpVp6U5yNoTFmkyEfmd47PNeDSnCrkX/5oCCTo7R2lXKSx2pD1BTm2brU+VGgPV9nA13lbqD0EAc6j9de7nSM/sKu62pJlO6nsDWuqS21fxuVjdcVAHaks9SMwCBkI2FsiBQK2ZU2MXEY7rEsP8uQYBHh68lMhVV2WuC0JpLc1BQFKe/oLx9BOoOAK5HqIx7j7Ya9dFV2OTQhtFGe0ci2sHxcX08Ns55eNaPN/lO8zSgHFdOu1I/sKKt08lhOFvAM1YkXP+YfZNgJ84bn0Xi2gJdLlYvGSO59wwJmk04z3406qswmEg4CKnMP9lO0MnRih99+cermc6KUDMlHaJztdq+xfbySe97nOQILREXiDLOEwz3utZ6m3D2RdVPraliChwSyz5FyYoynmDxcg4AFtwayN9XbmFqTTiuTeGyfnc2+PswNaPBCZGRoDYkJRugiJ3iU+p+RH55+0tTCnBnfQLcPYycXgJnrGhDNzH9ENZOfEexx/fNW2Qq7w++9VBI7H87O/wL48YWVKOlejfmNHIrQYic7iWWR6LWkVYrDwUQgGUy3UTnM2Rr2F5GK2mC2g365nPJY3V5P4LW+ukp22Y/AY7CDirCuMBFQYAXn17h8Fbno6v/FaaCHnHuemxEJFqWLWNB271pCPXhI5U0+uoWm26OiXLUPgz/c1WX5dbHpuxceFgJwwIxvpeKAjF9OW9WHFudmd5Vm+3LggTieWaUrGv+m7GWzHzfXtiunSvWaquI5gMd4M+AgSQICOMEUWxm8NlKj2dVxPaGMyuXDMzTMuxq46E6rjoMKmaT1W+kAqBBBdK57/Q+CN/gPpI19E sidebar_class_name: "post api-method" -info_path: API/karakeep-api +info_path: api/karakeep-api custom_edit_url: null --- diff --git a/docs/versioned_docs/version-v0.24.0/API/delete-a-bookmark.api.mdx b/docs/versioned_docs/version-v0.30.0/api/delete-a-bookmark.api.mdx index 2efd161f..56a84103 100644 --- a/docs/versioned_docs/version-v0.24.0/API/delete-a-bookmark.api.mdx +++ b/docs/versioned_docs/version-v0.30.0/api/delete-a-bookmark.api.mdx @@ -7,7 +7,7 @@ hide_title: true hide_table_of_contents: true api: eJx9U01v2zAM/SsCTxugxe3QYYNvGdoB3Yah2DLsEORA20ysxrZUiW6TGfrvA23nq83qi/XxKD4+PnZQUMi9cWxsAylcU0VMKrN2XaNfq2yrDAdlCtDAuAqQzuHzeBlgoSFQ3nrDW0jnHWSEnvy05RLS+SIuNDj0WBOTDz0g5CXVCGkHvHUEKQT2plmBBtpg7So5MmSKarNd1U/3nz7azd8P5YbZ5p+EgeEesmNwW0DU4OmhNZ4KSNm3pKHBWkDZAaTBSHEOuQRh5Sk42wQKwuT9xZX8TnX4YVVuG6aG1TvF5ZEiTxhU0avUJ786F73jpxrLamnbRiiM7wkanatMjoJO7oOEnJHGZveUM2hw3jrybAa6uS3opYBRQ00h4Orc3YlG8+GFA34R5ZM9l7aAFIbqJLHolUKyqz0k3UHUCNJ8/7hrbesrSKHDovAUQkzQmeTxEjQ8ojeYVQP78XqQbIltxZBCyexCmiTst5M1elwTuQk6B/qZrrOS1PiCssu+L99GvBq4QIzxyJW/RNQh87E39wpJZqmjh4lnehDocfHF+hqF4dc/s15G0yythEvVA6XLycXk4siaez7Tu9uz/Kd3t2pp/Sl5KTZqcDZwjb0dRhOP84h7/z1/szv46vXhHQpm2nDiKjSN5Ot71o19nu8nJoCG9Gh8FhpKG1ggXZdhoN++ilGOH1ryMvqLQ5t7MxQmyLqAdIlVoFc4v/k5OvOt+h/L8RCbbe+mqpUdaFjT9nTM4yJqKAkL8j2LATDNc3J8FPpi+sQxe/df33y/md2ABjy1yjNr9AnOMuu6ATGza2pi3BNl2QvHGP8BgxHeWQ== sidebar_class_name: "delete api-method" -info_path: API/karakeep-api +info_path: api/karakeep-api custom_edit_url: null --- diff --git a/docs/versioned_docs/version-v0.24.0/API/get-a-single-list.api.mdx b/docs/versioned_docs/version-v0.30.0/api/get-a-single-list.api.mdx index 75778a1d..f826bf41 100644 --- a/docs/versioned_docs/version-v0.24.0/API/get-a-single-list.api.mdx +++ b/docs/versioned_docs/version-v0.30.0/api/get-a-single-list.api.mdx @@ -5,9 +5,9 @@ description: "Get list by its id" sidebar_label: "Get a single list" hide_title: true hide_table_of_contents: true -api: eJytVE1v2zAM/SsGTxsgJOnQYYVvPWxFtwErtg47BD4wNhOrtSVVottkhv77QNlN89Vhh538QYp8j++JPVQUSq8da2sghyvirNGBs8Um0xwyXYECxlWAfA5fdeAAhYJAZec1byCf97Ag9OQvO64hnxexUODQY0tMPqSEUNbUIuQ98MYR5BDYa7MCBbTG1jXyS5OumvVm1T7dXXyw69/v6zWzLS+ku+aUIt2vK4gKPD102lMFOfuOFBhsJaEZEhRoYeKQaxA0noKzJlAQBO9mM3nsk/62uKOSsyfN9UC+QsYJKCitYTIsJ9C5RpcoJ6Z3QY6dIGZTIVDgvHXkWQ9NdXVMPj7DPhHYQ3c8NdM1DS5kJkI/KtDlqcSYhCAjM/mXKkPCCZFM14r6LZoOG1AQWvQsNqhoiV3DkD/HooKHjvzmH/rtyTiH5LM0kJHODvhi3wMQo5w+n50fKynxzFjOlrYz1f9TsLTVaalaCgFXp2IHBFOFl/wiDixa4tpWkMOKUlcxbQ5TcWGY9oOjo8yc/OPzfep8Azn0WFWeQohTdHr6eAYKHtFrGXGCPIaHGT3rVDO7kE+n7DeTe/R4T+Qm6BwcmA5ua8rGCpldZlxT9mXMzwYsIsPOKvghkxw67y6E7Viks/BIaZCPSaDGl0/WtygIP/+6TbPTZmnluLAeIJ1NZpPZzj7Y4rm8uT6J//LmOltavw9eyMrNsIFbTB4Yt4dsPsyCNquG0hY4rNm/mOmVNTkwZVrz1DWojTRKYvWjsPO0owIoyMdlVSiobWAJ9f0CA/30TYzye7xI8+JF16R+pYO8V5AvsQn0F5Bvvo/+e5u9hm78iWaT7NN08gUK7mnzslBjERXUhBX5hGAIXpYlOd45dnS/xB5bf199vAUFuG+KAxOk6ich9f2QcWvvycS4RcjyLQBj/ANIcU9P +api: eJytVUFv2zoM/isGTxtgJNmwhzf4Vjy8Dd0GbNg67BD4wFhMrFaWNIlukxn67wNlN01ab9hhp8jiJ/Ij+ZEZQFFsgvasnYUK3hIXRkcuNodCcyy0ghIYdxGqNXzQkSPUJURq+qD5ANV6gA1hoHDRcwvVuk51CR4DdsQUYgbEpqUOoRqAD56ggshB2x2UQHvsvJErTVqZ/WHX3V2//tftf/zT7pld81qia84QiX6pIJUQ6HuvAymoOPRUgsVOAGYElKAlE4/cgrAJFL2zkaIweLlayc950h8319Rwcae5HZNXyLiAEhpnmSzLC/Te6AblxfI6yrOZxFx2BCX44DwF1mNQrZ4mn+5pzxjO2D2tmu2NwY3URNJPJehmDphyI8hKTf7EywiYaZLtO+l+h7ZHAyXEDgOLDBRtsTcM1b0tlfC9p3D4o3i+3xjdnEA3zhlCK15ajP85wbuA7EKcR/WRwmdnfsva3VkK8q00OzncarrLN1P8Op0pag1Z8rk3U2VP6nh8NUPxhE99rlpISYK8Wr16qj2xF9ZxsXW9VX9Pc41T8+LqKEbczdke1SF7eMDXacyiI26dggp2lKPKmFWwlLmJy2GcwSQqoXB7vwH6YKCCAZUKFGNaotfL2xfSDAxaRJEpT+axRvfKapl9rJZLDofFDQa8IfIL9B4ejQlctVRMHgq3Lbil4v2EL0Yu0oaT5fVFKjlGPl1hx7JIZMkjw0R4GQTldHjjQofC8N23q1w7bbdOnkvWI6UXi9VidbLBjnwuPl3O8r/4dFlsXTgnL8nKuLjIHWYNTPtOdjUWUdudoby3HvscHsT0i8U+Zsq056U3qMepkmYNU2PXeauKuKtpvdYltC6ymIZhg5G+BpOSXE+jv64f+pq7r3SUs4JqiybSb0g++zzp73nxK3bTJdpDlo/p5QtKuKHDw19AqmWHECoKmcFovGga8nzy7Ml8iTyO+n77/xWUgOeieCSC7H2W0jCMiCt3QzalI0OWbyGY0k9EOoyc sidebar_class_name: "get api-method" -info_path: API/karakeep-api +info_path: api/karakeep-api custom_edit_url: null --- @@ -62,7 +62,7 @@ Get list by its id <StatusCodes id={undefined} label={undefined} - responses={{"200":{"description":"Object with list data.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"icon":{"type":"string"},"parentId":{"type":"string","nullable":true},"type":{"type":"string","enum":["manual","smart"],"default":"manual"},"query":{"type":"string","nullable":true}},"required":["id","name","icon","parentId"],"title":"List"}}}},"404":{"description":"List not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} + responses={{"200":{"description":"Object with list data.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"icon":{"type":"string"},"parentId":{"type":"string","nullable":true},"type":{"type":"string","enum":["manual","smart"],"default":"manual"},"query":{"type":"string","nullable":true},"public":{"type":"boolean"},"hasCollaborators":{"type":"boolean"},"userRole":{"type":"string","enum":["owner","editor","viewer","public"]}},"required":["id","name","icon","parentId","public","hasCollaborators","userRole"],"title":"List"}}}},"404":{"description":"List not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}}}}} > </StatusCodes> diff --git a/docs/versioned_docs/version-v0.24.0/API/get-all-highlights.api.mdx b/docs/versioned_docs/version-v0.30.0/api/get-all-highlights.api.mdx index dc484071..a2577cf4 100644 --- a/docs/versioned_docs/version-v0.24.0/API/get-all-highlights.api.mdx +++ b/docs/versioned_docs/version-v0.30.0/api/get-all-highlights.api.mdx @@ -7,7 +7,7 @@ hide_title: true hide_table_of_contents: true api: eJyNVU2P2zYQ/SvCnAl706NuRtGm2x6yQLfoYeHDWBpbjCmSGY42MQT+92Ik2ZY22qS+2KYe37z5euqhplSxjWKDhxI+khToXNHYU+PsqZEEBgRPCcoX+ON+uDeQqOrYygXKlx4OhEy866SB8mWf9wYiMrYkxGkApKqhFqHsQS6RoATftQdiyAaYvnSWqYbyiC6RAY+tIpxtrYABq8K+dMQXyGaFKQlbf1KdVpwe/NpxCj+krkbEknuv+BSDT5SU/peHB/1aFujT4TNVUny10rwpVFGj4AYMVMELedG7GKOzFerd7eekBCv6w0AJBiKHSCx2DD9rwR2LzHhR3UJt+jnHIYRzi3x+rL+vVzaQBFk+HY+JZLUz5OsfPK2CC7zWB/Jdq/NyIefCV9Cy1mDgxEQeDBxcRzpANR2xcwLlFZgNCH2TNUrfOYcH7a5wR9mAD0L/C2jXU+8S8TtVqZhQqN6tCMmLmXqZ13dZzXntpqwmzYOiW/x5tP19gm+bNkT09E2mmf55xm8ULhZ5RjQL9oQn61XDbL+zfgy0JE2ooYTTkEdE3W/YLkgT8et1yzt2UEKPdc2UUt5itNvXD2DgFdmqyGEqp8fjcl1noBGJqdxuhS+bMzKeieIGYwTzZgOfGyomhiIcC2mo+GvCF6MWVT8zqL914aZ9mNnUrZIaWfMYYFBOIB3U4cfvgVtUhX/++zy0w/pj0Oua9Sjpw+Zh8zAzoJue3dPjqv7d02NxDLwUr8lmAzEkaXGwismtVk15QdrfTecdCx9T1UHcRofWDzug3eqnri5GZW+gCUn0tO8PmOgfdjnr8eiV2uvaJu3o3VvPdJm59ivqmpcwePY72JsN38H7+6wMbxIDDWFNPIQcb+2qiuI8xHcuqyy30f342zMYwGXP3/R4YL9arL/MuPt+RDyHM/mc4Spd9D/kfc75P+nqe/Y= sidebar_class_name: "get api-method" -info_path: API/karakeep-api +info_path: api/karakeep-api custom_edit_url: null --- diff --git a/docs/versioned_docs/version-v0.24.0/API/get-highlights-of-a-bookmark.api.mdx b/docs/versioned_docs/version-v0.30.0/api/get-highlights-of-a-bookmark.api.mdx index dae985cd..02f4a0c4 100644 --- a/docs/versioned_docs/version-v0.24.0/API/get-highlights-of-a-bookmark.api.mdx +++ b/docs/versioned_docs/version-v0.30.0/api/get-highlights-of-a-bookmark.api.mdx @@ -7,7 +7,7 @@ hide_title: true hide_table_of_contents: true api: eJytVcGO2zYQ/RVhTi1ArJwiRQPdXKBNNzk0aLboYeEDLY0triWSGY42dgT+ezG0bEm7SjaHnCyTj8M3b94Me6gwlGQ8G2ehgLfIWW32dWP2NYfM7TKdbZ07tJoOoID1PkBxD78PSwE2CgKWHRk+QXHfwxY1Ia07rqG438SNAq9Jt8hIIQFCWWOroeiBTx6hgMBk7B4U4FG3vpElg6Zqjqd9+/nhzW/u+OXX+sjsyjfCwHCCXBjcVhAVEH7qDGEFBVOHCqxuBbQdQQqM5Oc11yCsCIN3NmAQJr+sVvIzl+KuxqwxgUWEURJQUDrLaFlOaO8bU2o5kT8EObaQoNs+YMmgwJPzSGzOl05ijlhNpE9ClrENL8eYJPhM0KggsCb+e7cLyJN927VbJNlHW31jt3SNo8VC2a4VF5ywadxnEDFF4D0hWlCwbToUX1S4013DUFyAUQHjkZdC2q5p9FYqKwWMCqxj/C6gWU69C0hfUaUk1IzVeoFInHnpfm6gqZpT7YasBs6J0fX+6W2b0b1/XWoP8emVE1tsYtp9vXr93J0X/2fWcbZzna1+nDNLVy1oHxW0GILeL+09SSJFGPEpkXSea1dBAfskW2rGAvKLyiHvR8FjPmu6gPR4GSEdNVBAr6uKMISYa2/yx1eg4FGTEXOkLIbts3QXJ9bMPhR5znS6OWjSB0R/o70HtdD9QwQZAFxj9n7AZ2cuUrrJ9Pso4g5dOZmBV6XkZskjwWQ2JZC0S/r401GrheG7/+6SnMbunByXrM+UXt2sblaTEXjls/5wu8h//eE22zmak5dkowLvArc62WIYli+M/ln4frTai0/GOX1pkdw32tjUnVLBfjDA2GZS6GLWc9NuUFC7wILv+60O+C81Mcrypw5JXp/N6IDkk8oE+a6g2Okm4Ddy+Omfwbw/Z1+jfBnQ9pSMJjOuAFBwwNP8pYmbqKBGXSElFmfAuizR8+ToswYVM10b5O0fd6BAzy30xDIp+iKtvj8j7twBbYxXliz/hWCM/wNdHrx1 sidebar_class_name: "get api-method" -info_path: API/karakeep-api +info_path: api/karakeep-api custom_edit_url: null --- diff --git a/docs/versioned_docs/version-v0.24.0/API/karakeep-api.info.mdx b/docs/versioned_docs/version-v0.30.0/api/karakeep-api.info.mdx index 3e4eb827..3e4eb827 100644 --- a/docs/versioned_docs/version-v0.24.0/API/karakeep-api.info.mdx +++ b/docs/versioned_docs/version-v0.30.0/api/karakeep-api.info.mdx |
