{
    "AllowManualLogin": true,
    "Endpoints": [
        {
            "Name": "Index",
            "Path": "/",
            "Method": "GET",
            "AuthRequired": false,
            "Description": "Landing page",
            "Args": null,
            "RSS": ""
        },
        {
            "Name": "Docs",
            "Path": "/docs/*page",
            "Method": "GET",
            "AuthRequired": false,
            "Description": "Documentation \u0026 help",
            "Args": null,
            "RSS": ""
        },
        {
            "Name": "Signup",
            "Path": "/signup",
            "Method": "GET",
            "AuthRequired": false,
            "Description": "Signup page",
            "Args": null,
            "RSS": ""
        },
        {
            "Name": "Signup processor",
            "Path": "/signup",
            "Method": "POST",
            "AuthRequired": false,
            "Description": "Signup form processor",
            "Args": [
                {
                    "Name": "username",
                    "Type": "string",
                    "Required": true,
                    "Description": "Username of the new account"
                },
                {
                    "Name": "email",
                    "Type": "string",
                    "Required": true,
                    "Description": "Email address of the new account"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Login",
            "Path": "/login",
            "Method": "GET",
            "AuthRequired": false,
            "Description": "Login page",
            "Args": null,
            "RSS": ""
        },
        {
            "Name": "Login processor",
            "Path": "/login",
            "Method": "POST",
            "AuthRequired": false,
            "Description": "Login form processor",
            "Args": [
                {
                    "Name": "username",
                    "Type": "string",
                    "Required": true,
                    "Description": "Username or email address of the new account"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Logout",
            "Path": "/logout",
            "Method": "GET",
            "AuthRequired": false,
            "Description": "Destroys user session",
            "Args": null,
            "RSS": ""
        },
        {
            "Name": "Search",
            "Path": "/search",
            "Method": "GET",
            "AuthRequired": false,
            "Description": "Global search",
            "Args": [
                {
                    "Name": "q",
                    "Type": "string",
                    "Required": false,
                    "Description": "Search terms"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Snapshots",
            "Path": "/snapshots",
            "Method": "GET",
            "AuthRequired": false,
            "Description": "Search in snapshots by URL",
            "Args": [
                {
                    "Name": "query",
                    "Type": "string",
                    "Required": false,
                    "Description": "Search term to filter snapshots"
                }
            ],
            "RSS": "Snapshots"
        },
        {
            "Name": "Snapshot diff",
            "Path": "/snapshot_diff",
            "Method": "GET",
            "AuthRequired": false,
            "Description": "Compare two snapshots and display the differences",
            "Args": [
                {
                    "Name": "s1",
                    "Type": "string",
                    "Required": true,
                    "Description": "ID of the first snapshot"
                },
                {
                    "Name": "s2",
                    "Type": "string",
                    "Required": true,
                    "Description": "ID of the second snapshot"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Snapshot diff side by side",
            "Path": "/snapshot_diff_side_by_side",
            "Method": "GET",
            "AuthRequired": false,
            "Description": "Display two snapshots and their differences side by side",
            "Args": [
                {
                    "Name": "s1",
                    "Type": "string",
                    "Required": true,
                    "Description": "ID of the first snapshot"
                },
                {
                    "Name": "s2",
                    "Type": "string",
                    "Required": true,
                    "Description": "ID of the second snapshot"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Archive",
            "Path": "/archive/*url",
            "Method": "GET",
            "AuthRequired": false,
            "Description": "View snapshot as webarchive",
            "Args": null,
            "RSS": ""
        },
        {
            "Name": "User",
            "Path": "/users/:username",
            "Method": "GET",
            "AuthRequired": false,
            "Description": "User profile page",
            "Args": null,
            "RSS": ""
        },
        {
            "Name": "Public bookmarks",
            "Path": "/bookmarks",
            "Method": "GET",
            "AuthRequired": false,
            "Description": "List public bookmarks with optional filters",
            "Args": [
                {
                    "Name": "query",
                    "Type": "string",
                    "Required": false,
                    "Description": "Search term to filter bookmarks by title"
                },
                {
                    "Name": "owner",
                    "Type": "string",
                    "Required": false,
                    "Description": "Search term to filter bookmarks by username"
                },
                {
                    "Name": "tag",
                    "Type": "string",
                    "Required": false,
                    "Description": "Search term to filter bookmarks by tag"
                },
                {
                    "Name": "domain",
                    "Type": "string",
                    "Required": false,
                    "Description": "Search term to filter bookmarks by domain"
                },
                {
                    "Name": "from",
                    "Type": "date",
                    "Required": false,
                    "Description": "Display only newer bookmarks. (Format: YYYY.MM.DD)"
                },
                {
                    "Name": "to",
                    "Type": "date",
                    "Required": false,
                    "Description": "Display only older bookmarks. (Format: YYYY.MM.DD)"
                },
                {
                    "Name": "search_in_snapshots",
                    "Type": "boolean",
                    "Required": false,
                    "Description": "Query parameter also applied to snapshot content. (Values: 0, 1)"
                },
                {
                    "Name": "search_in_notes",
                    "Type": "boolean",
                    "Required": false,
                    "Description": "Query parameter also applied to bookmark notes. (Values: 0, 1)"
                }
            ],
            "RSS": "Bookmarks"
        },
        {
            "Name": "Snapshot",
            "Path": "/snapshot",
            "Method": "GET",
            "AuthRequired": false,
            "Description": "Displays snapshots details with additional bookmark properties",
            "Args": [
                {
                    "Name": "sid",
                    "Type": "string",
                    "Required": true,
                    "Description": "Snapshot key"
                },
                {
                    "Name": "bid",
                    "Type": "int",
                    "Required": true,
                    "Description": "Bookmark ID"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Download snapshot",
            "Path": "/download_snapshot",
            "Method": "GET",
            "AuthRequired": false,
            "Description": "Download a self contained single file version of a snapshot",
            "Args": [
                {
                    "Name": "sid",
                    "Type": "string",
                    "Required": true,
                    "Description": "Snapshot key"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Snapshot details",
            "Path": "/snapshot_details",
            "Method": "GET",
            "AuthRequired": false,
            "Description": "View snapshot details and resources",
            "Args": [
                {
                    "Name": "sid",
                    "Type": "string",
                    "Required": true,
                    "Description": "Snapshot key"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Page info",
            "Path": "/page_info",
            "Method": "POST",
            "AuthRequired": false,
            "Description": "View information about a given webpage - mainly used by the addon",
            "Args": [
                {
                    "Name": "token",
                    "Type": "string",
                    "Required": true,
                    "Description": "Extension token. It can be found on the profile page"
                },
                {
                    "Name": "text",
                    "Type": "string",
                    "Required": false,
                    "Description": "Page text. Returning all the matching tags if specified"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Add bookmark",
            "Path": "/add_bookmark",
            "Method": "POST",
            "AuthRequired": false,
            "Description": "Add new bookmark",
            "Args": [
                {
                    "Name": "token",
                    "Type": "string",
                    "Required": true,
                    "Description": "Extension token. It can be found on the profile page"
                },
                {
                    "Name": "url",
                    "Type": "URL",
                    "Required": true,
                    "Description": "URL of the bookmark"
                },
                {
                    "Name": "title",
                    "Type": "string",
                    "Required": true,
                    "Description": "Title of the bookmark"
                },
                {
                    "Name": "notes",
                    "Type": "string",
                    "Required": false,
                    "Description": "Bookmark notes"
                },
                {
                    "Name": "favicon",
                    "Type": "string",
                    "Required": false,
                    "Description": "Data URL encoded favicon (https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs)"
                },
                {
                    "Name": "public",
                    "Type": "boolean",
                    "Required": false,
                    "Description": "Marks bookmark as public"
                },
                {
                    "Name": "tags",
                    "Type": "string",
                    "Required": false,
                    "Description": "Comma separated list of tags"
                },
                {
                    "Name": "snapshot_title",
                    "Type": "string",
                    "Required": false,
                    "Description": "Title of the snapshot"
                },
                {
                    "Name": "snapshot_text",
                    "Type": "string",
                    "Required": false,
                    "Description": "Text content of the snapshot"
                },
                {
                    "Name": "snapshot",
                    "Type": "multipart file",
                    "Required": false,
                    "Description": "Snapshot file"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Add resource",
            "Path": "/add_resource",
            "Method": "POST",
            "AuthRequired": false,
            "Description": "Add new resource to a snapshot",
            "Args": [
                {
                    "Name": "token",
                    "Type": "string",
                    "Required": true,
                    "Description": "Extension token. It can be found on the profile page"
                },
                {
                    "Name": "sid",
                    "Type": "string",
                    "Required": true,
                    "Description": "Snapshot ID"
                },
                {
                    "Name": "meta",
                    "Type": "JSON string",
                    "Required": true,
                    "Description": "List of resource metadata containing objects with mimetype, extension and filename information"
                },
                {
                    "Name": "resource[0-9]+",
                    "Type": "multipart files",
                    "Required": true,
                    "Description": "Resource files"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Check bookmark",
            "Path": "/check_bookmark",
            "Method": "GET",
            "AuthRequired": false,
            "Description": "Checks if a bookmark is already exists",
            "Args": [
                {
                    "Name": "token",
                    "Type": "string",
                    "Required": true,
                    "Description": "Extension token. It can be found on the profile page"
                },
                {
                    "Name": "url",
                    "Type": "URL",
                    "Required": true,
                    "Description": "URL of the bookmark"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Bookmark",
            "Path": "/bookmark",
            "Method": "GET",
            "AuthRequired": false,
            "Description": "Displays all details of a bookmark",
            "Args": [
                {
                    "Name": "id",
                    "Type": "int",
                    "Required": true,
                    "Description": "Bookmark ID"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "API",
            "Path": "/api",
            "Method": "GET",
            "AuthRequired": false,
            "Description": "Displays API documentation (this page)",
            "Args": null,
            "RSS": ""
        },
        {
            "Name": "Oauth",
            "Path": "/oauth",
            "Method": "GET",
            "AuthRequired": false,
            "Description": "Creates OAuth requests",
            "Args": [
                {
                    "Name": "provider",
                    "Type": "string",
                    "Required": true,
                    "Description": "Oauth provider name"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Oauth verification",
            "Path": "/oauth_redirect_handler",
            "Method": "GET",
            "AuthRequired": false,
            "Description": "Verifies OAuth requests",
            "Args": null,
            "RSS": ""
        },
        {
            "Name": "Check token",
            "Path": "/check_token",
            "Method": "POST",
            "AuthRequired": false,
            "Description": "Verifies addon tokens",
            "Args": [
                {
                    "Name": "token",
                    "Type": "string",
                    "Required": true,
                    "Description": "Addon token"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "ActivityPub inbox",
            "Path": "/inbox/:username",
            "Method": "POST",
            "AuthRequired": false,
            "Description": "Inbox for ActivityPub messages",
            "Args": [
                {
                    "Name": "message",
                    "Type": "JSON",
                    "Required": true,
                    "Description": "ActivityPub message"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "ActivityPub outbox",
            "Path": "/outbox/:username",
            "Method": "GET",
            "AuthRequired": false,
            "Description": "Outbox of ActivityPub messages",
            "Args": null,
            "RSS": ""
        },
        {
            "Name": "ActivityPub webfinger",
            "Path": "/.well-known/webfinger",
            "Method": "GET",
            "AuthRequired": false,
            "Description": "Webfinger response for ActivityPub",
            "Args": [
                {
                    "Name": "resource",
                    "Type": "string",
                    "Required": true,
                    "Description": "ActivityPub resource"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Profile",
            "Path": "/profile",
            "Method": "GET",
            "AuthRequired": true,
            "Description": "Displays the user profile page",
            "Args": null,
            "RSS": ""
        },
        {
            "Name": "Profile page",
            "Path": "/profile",
            "Method": "POST",
            "AuthRequired": true,
            "Description": "Displays the profile page with addon tokens",
            "Args": null,
            "RSS": ""
        },
        {
            "Name": "Generate addon token",
            "Path": "/generate_addon_token",
            "Method": "GET",
            "AuthRequired": true,
            "Description": "Creates a new addon token",
            "Args": null,
            "RSS": ""
        },
        {
            "Name": "Delete addon token",
            "Path": "/delete_addon_token",
            "Method": "POST",
            "AuthRequired": true,
            "Description": "Deletes an addon token",
            "Args": [
                {
                    "Name": "id",
                    "Type": "int",
                    "Required": true,
                    "Description": "Token ID"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Create bookmark form",
            "Path": "/create_bookmark",
            "Method": "GET",
            "AuthRequired": true,
            "Description": "Show create bookmark form",
            "Args": null,
            "RSS": ""
        },
        {
            "Name": "Create bookmark",
            "Path": "/create_bookmark",
            "Method": "POST",
            "AuthRequired": true,
            "Description": "Create new bookmark from webapp",
            "Args": [
                {
                    "Name": "url",
                    "Type": "string",
                    "Required": true,
                    "Description": "URL of the bookmark"
                },
                {
                    "Name": "title",
                    "Type": "string",
                    "Required": true,
                    "Description": "Title of the bookmark"
                },
                {
                    "Name": "notes",
                    "Type": "string",
                    "Required": false,
                    "Description": "Bookmark notes"
                },
                {
                    "Name": "public",
                    "Type": "boolean",
                    "Required": false,
                    "Description": "Bookmark is publicly accessible"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "My bookmarks",
            "Path": "/my_bookmarks",
            "Method": "GET",
            "AuthRequired": true,
            "Description": "Displays bookmarks belongs to the current user with optional filters",
            "Args": [
                {
                    "Name": "query",
                    "Type": "string",
                    "Required": false,
                    "Description": "Search term to filter bookmarks by title"
                },
                {
                    "Name": "tag",
                    "Type": "string",
                    "Required": false,
                    "Description": "Search term to filter bookmarks by tag"
                },
                {
                    "Name": "domain",
                    "Type": "string",
                    "Required": false,
                    "Description": "Search term to filter bookmarks by domain"
                },
                {
                    "Name": "from",
                    "Type": "date",
                    "Required": false,
                    "Description": "Display only newer bookmarks. (Format: YYYY.MM.DD)"
                },
                {
                    "Name": "to",
                    "Type": "date",
                    "Required": false,
                    "Description": "Display only older bookmarks. (Format: YYYY.MM.DD)"
                },
                {
                    "Name": "is_public",
                    "Type": "boolean",
                    "Required": false,
                    "Description": "Display only public bookmarks. (Values: 0, 1)"
                },
                {
                    "Name": "is_private",
                    "Type": "boolean",
                    "Required": false,
                    "Description": "Display only private bookmarks. (Values: 0, 1)"
                },
                {
                    "Name": "search_in_snapshots",
                    "Type": "boolean",
                    "Required": false,
                    "Description": "Query parameter also applied to snapshot content. (Values: 0, 1)"
                },
                {
                    "Name": "search_in_notes",
                    "Type": "boolean",
                    "Required": false,
                    "Description": "Query parameter also applied to bookmark notes. (Values: 0, 1)"
                }
            ],
            "RSS": "Bookmarks"
        },
        {
            "Name": "Feeds",
            "Path": "/feeds",
            "Method": "GET",
            "AuthRequired": true,
            "Description": "List feeds",
            "Args": null,
            "RSS": ""
        },
        {
            "Name": "Edit feed form",
            "Path": "/edit_feed",
            "Method": "GET",
            "AuthRequired": true,
            "Description": "Edit feed form",
            "Args": [
                {
                    "Name": "id",
                    "Type": "string",
                    "Required": true,
                    "Description": "User feed ID"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Feed search",
            "Path": "/feed_search",
            "Method": "GET",
            "AuthRequired": true,
            "Description": "Search for feed items",
            "Args": [
                {
                    "Name": "q",
                    "Type": "string",
                    "Required": false,
                    "Description": "Search Query"
                },
                {
                    "Name": "include_read_items",
                    "Type": "bool",
                    "Required": false,
                    "Description": "Include read items in the results"
                },
                {
                    "Name": "feed_id",
                    "Type": "int",
                    "Required": false,
                    "Description": "Limit search results to the specified feed"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Edit feed",
            "Path": "/edit_feed",
            "Method": "POST",
            "AuthRequired": true,
            "Description": "Edit feed",
            "Args": [
                {
                    "Name": "id",
                    "Type": "string",
                    "Required": true,
                    "Description": "User feed ID"
                },
                {
                    "Name": "name",
                    "Type": "string",
                    "Required": true,
                    "Description": "User feed name"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Delete feed",
            "Path": "/delete_feed",
            "Method": "POST",
            "AuthRequired": true,
            "Description": "Delete feed",
            "Args": [
                {
                    "Name": "id",
                    "Type": "string",
                    "Required": true,
                    "Description": "User feed ID"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Archive items",
            "Path": "/archive_items",
            "Method": "POST",
            "AuthRequired": true,
            "Description": "Mark unread items as read",
            "Args": [
                {
                    "Name": "bids",
                    "Type": "string",
                    "Required": false,
                    "Description": "Comma separated list of bookmark IDs"
                },
                {
                    "Name": "fids",
                    "Type": "string",
                    "Required": false,
                    "Description": "Comma separated list of feed item IDs"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Add feed",
            "Path": "/add_feed",
            "Method": "POST",
            "AuthRequired": true,
            "Description": "Add new feed",
            "Args": [
                {
                    "Name": "name",
                    "Type": "string",
                    "Required": true,
                    "Description": "Feed name"
                },
                {
                    "Name": "url",
                    "Type": "string",
                    "Required": true,
                    "Description": "Feed URL"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Edit bookmark",
            "Path": "/edit_bookmark",
            "Method": "GET",
            "AuthRequired": true,
            "Description": "Displays a bookmark with all the editable properties",
            "Args": [
                {
                    "Name": "id",
                    "Type": "int",
                    "Required": true,
                    "Description": "Bookmark ID"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Save bookmark",
            "Path": "/save_bookmark",
            "Method": "POST",
            "AuthRequired": true,
            "Description": "Saves an edited bookmark",
            "Args": [
                {
                    "Name": "id",
                    "Type": "int",
                    "Required": true,
                    "Description": "Bookmark ID"
                },
                {
                    "Name": "title",
                    "Type": "string",
                    "Required": true,
                    "Description": "Title of the bookmark"
                },
                {
                    "Name": "notes",
                    "Type": "string",
                    "Required": false,
                    "Description": "Bookmark notes"
                },
                {
                    "Name": "public",
                    "Type": "boolean",
                    "Required": false,
                    "Description": "Bookmark is publicly accessible. (Omit this argument in case of private bookmarks)"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Delete snapshot",
            "Path": "/delete_snapshot",
            "Method": "POST",
            "AuthRequired": true,
            "Description": "Deletes a snapshot",
            "Args": [
                {
                    "Name": "bid",
                    "Type": "int",
                    "Required": true,
                    "Description": "Bookmark ID"
                },
                {
                    "Name": "sid",
                    "Type": "int",
                    "Required": true,
                    "Description": "Snapshot ID"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Delete bookmark",
            "Path": "/delete_bookmark",
            "Method": "POST",
            "AuthRequired": true,
            "Description": "Deletes a bookmark",
            "Args": [
                {
                    "Name": "id",
                    "Type": "int",
                    "Required": true,
                    "Description": "Bookmark ID"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Add tag",
            "Path": "/add_tag",
            "Method": "POST",
            "AuthRequired": true,
            "Description": "Add tag to a bookmark",
            "Args": [
                {
                    "Name": "bid",
                    "Type": "int",
                    "Required": true,
                    "Description": "Bookmark ID"
                },
                {
                    "Name": "tag",
                    "Type": "string",
                    "Required": true,
                    "Description": "Tag string"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "Delete tag",
            "Path": "/delete_tag",
            "Method": "POST",
            "AuthRequired": true,
            "Description": "Delete tag's bookmark",
            "Args": [
                {
                    "Name": "bid",
                    "Type": "int",
                    "Required": true,
                    "Description": "Bookmark ID"
                },
                {
                    "Name": "tid",
                    "Type": "int",
                    "Required": true,
                    "Description": "Tag ID"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "edit collection form",
            "Path": "/edit_collection",
            "Method": "GET",
            "AuthRequired": true,
            "Description": "View to create or edit collections",
            "Args": [
                {
                    "Name": "collection_id",
                    "Type": "int",
                    "Required": false,
                    "Description": "collection id"
                }
            ],
            "RSS": ""
        },
        {
            "Name": "save collection",
            "Path": "/edit_collection",
            "Method": "POST",
            "AuthRequired": true,
            "Description": "Create or edit collections",
            "Args": [
                {
                    "Name": "collection_id",
                    "Type": "int",
                    "Required": false,
                    "Description": "collection id"
                }
            ],
            "RSS": ""
        }
    ],
    "Page": "api",
    "URL": "https://relic.wasi-test.de/api?format=json",
    "User": null
}