Download OpenAPI specification:Download
The LinkAce API is a clearly structured REST API to access and modify the data stored in your LinkAce setup. All data must be sent via JSON and JSON is used to return any data or messages.
The source of this API documentation can be found on Github.
To use the API, you have to generate an API key in the LinkAce user settings. If you have an API key already, use this one. Else click the "Generate Token" to generate a new one.
It highly depends on the system you use to work with the LinkAce API. In this example we do a simple request via Curl. We will create a new link.
https://your-linkace-url.com
with your actual domain you use to access your LinkAce.YOUR-API-KEY-HERE
with the API key you got from the user settings.curl --request POST \
--url https://your-linkace-url.com/api/v1/links \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'authorization: Bearer YOUR-API-KEY-HERE' \
--data '{
"url":"https://duckduckgo.com",
"title":"DuckDuckGo",
"description":"",
"lists":[],
"tags":[],
"is_private":false,
"check_disabled":false
}'
After sending the request with the HTTP status 200
, you will get a response that may look like this:
{
"id": 1
"url": "https://duckduckgo.com",
"title": "DuckDuckGo",
"description": "",
"is_private": false,
"user_id": 1,
"icon": "fa fa-link",
"updated_at": "2020-03-09T19:33:23.000000Z",
"created_at": "2020-03-09T19:33:23.000000Z",
}
Get all links.
per_page | integer >= -1 Amount of entries to return per page. Use -1 to return all items. |
order_by | string Enum: "id" "url" "title" "description" "visibility" "status" "check_disabled" "created_at" "updated_at" Order elements by the specified field |
order_dir | string Enum: "asc" "desc" Order elements in ascending or descending order |
accept required | string Default: application/json Default header needed for every request |
{- "total": 0,
- "to": 0,
- "prev_page_url": "string",
- "per_page": "string",
- "path": "string",
- "next_page_url": "string",
- "last_page": 0,
- "from": 0,
- "data": [
- {
- "id": 84,
- "user_id": 1,
- "title": "string",
- "description": "string",
- "icon": "string",
- "visibility": 1,
- "status": 1,
- "check_disabled": true,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z"
}
], - "current_page": 0
}
Create a new Link.
accept required | string Default: application/json Default header needed for every request |
url required | string <uri> |
title | string |
description | string |
string or (Array of strings or integers) Must be either an array of List IDs or List names, or a string with comma-separated List names | |
string or (Array of strings or integers) Must be either an array of List IDs or List names, or a string with comma-separated List names | |
visibility | integer (Visibility) Enum: 1 2 3 Defines the visibility: 1 - public, 2 - internal, 3 - private |
check_disabled | boolean |
{- "title": "DuckDuckGo — Privacy, simplified.",
- "description": "The Internet privacy company that empowers you to seamlessly take control of your personal information online, without any tradeoffs.",
- "lists": [
- 5
], - "tags": [
- 9,
- 13,
- 29
], - "visibility": 1,
- "check_disabled": false
}
{- "id": 84,
- "user_id": 1,
- "title": "string",
- "description": "string",
- "icon": "string",
- "visibility": 1,
- "status": 1,
- "check_disabled": true,
- "lists": [
- {
- "id": 0,
- "user_id": 0,
- "name": "string",
- "description": "string",
- "visibility": 1,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z",
- "links": "string"
}
], - "tags": [
- {
- "id": 0,
- "user_id": 0,
- "name": "string",
- "visibility": 1,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z"
}
], - "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z"
}
Get one specific link, including his lists and tags.
link_id required | integer |
accept required | string Default: application/json Default header needed for every request |
{- "id": 84,
- "user_id": 1,
- "title": "string",
- "description": "string",
- "icon": "string",
- "visibility": 1,
- "status": 1,
- "check_disabled": true,
- "lists": [
- {
- "id": 0,
- "user_id": 0,
- "name": "string",
- "description": "string",
- "visibility": 1,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z",
- "links": "string"
}
], - "tags": [
- {
- "id": 0,
- "user_id": 0,
- "name": "string",
- "visibility": 1,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z"
}
], - "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z"
}
Update one specific link.
link_id required | integer |
accept required | string Default: application/json Default header needed for every request |
url required | string <uri> |
title | string |
description | string |
string or (Array of strings or integers) Must be either an array of List IDs or List names, or a string with comma-separated List names | |
string or (Array of strings or integers) Must be either an array of List IDs or List names, or a string with comma-separated List names | |
visibility | integer (Visibility) Enum: 1 2 3 Defines the visibility: 1 - public, 2 - internal, 3 - private |
check_disabled | boolean |
{- "title": "DuckDuckGo — Privacy, simplified.",
- "description": "The Internet privacy company that empowers you to seamlessly take control of your personal information online, without any tradeoffs.",
- "lists": [
- 5
], - "tags": [
- 9,
- 13,
- 29
], - "visibility": 1,
- "check_disabled": false
}
{- "id": 84,
- "user_id": 1,
- "title": "string",
- "description": "string",
- "icon": "string",
- "visibility": 1,
- "status": 1,
- "check_disabled": true,
- "lists": [
- {
- "id": 0,
- "user_id": 0,
- "name": "string",
- "description": "string",
- "visibility": 1,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z",
- "links": "string"
}
], - "tags": [
- {
- "id": 0,
- "user_id": 0,
- "name": "string",
- "visibility": 1,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z"
}
], - "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z"
}
Search all links saved in LinkAce
per_page | integer >= -1 Amount of entries to return per page. Use -1 to return all items. |
query required | string Query used to search for Links |
search_title | boolean Enables searching in the title |
search_description | boolean Enables searching in the description |
private_only | boolean Search for private links only |
broken_only | boolean Search for broken links only (Status is not "Ok") |
empty_lists | boolean Search for links without any lists attatched |
empty_tags | boolean Search for links without any tags attatched |
only_lists | string Comma-separated list of list IDs a link must have |
only_tags | string Comma-separated list of tag IDs a link must have |
order_by | string Default: "title:asc" Enum: "title:asc" "title:desc" "url:asc" "url:desc" "created_at:asc" "created_at:desc" Order the results by the following format: "field_to_order:order_direction", e.g. "title:asc" |
accept required | string Default: application/json Default header needed for every request |
{- "total": 0,
- "to": 0,
- "prev_page_url": "string",
- "per_page": "string",
- "path": "string",
- "next_page_url": "string",
- "last_page": 0,
- "from": 0,
- "data": [
- {
- "id": 84,
- "user_id": 1,
- "title": "string",
- "description": "string",
- "icon": "string",
- "visibility": 1,
- "status": 1,
- "check_disabled": true,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z"
}
], - "current_page": 0
}
Get all notes of one specific link.
link_id required | integer ID of the link you want to get notes for |
per_page | integer >= -1 Amount of entries to return per page. Use -1 to return all items. |
accept required | string Default: application/json Default header needed for every request |
{- "total": 0,
- "to": 0,
- "prev_page_url": "string",
- "per_page": "string",
- "path": "string",
- "next_page_url": "string",
- "last_page": 0,
- "from": 0,
- "data": [
- {
- "id": 84,
- "user_id": 1,
- "link_id": 1,
- "note": "string",
- "visibility": 1,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z"
}
], - "current_page": 0
}
Get all lists.
per_page | integer >= -1 Amount of entries to return per page. Use -1 to return all items. |
order_by | string Enum: "id" "name" "description" "visibility" "created_at" "updated_at" Order elements by the specified field |
order_dir | string Enum: "asc" "desc" Order elements in ascending or descending order |
accept required | string Default: application/json Default header needed for every request |
{- "total": 0,
- "to": 0,
- "prev_page_url": "string",
- "per_page": "string",
- "path": "string",
- "next_page_url": "string",
- "last_page": 0,
- "from": 0,
- "data": [
- {
- "id": 0,
- "user_id": 0,
- "name": "string",
- "description": "string",
- "visibility": 1,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z",
- "links": "string"
}
], - "current_page": 0
}
Create a new List.
accept required | string Default: application/json Default header needed for every request |
description | string |
visibility | integer (Visibility) Enum: 1 2 3 Defines the visibility: 1 - public, 2 - internal, 3 - private |
name required | string |
{- "name": "Web Development Tools",
- "description": "Various tools and applications for a more productiove web development.",
- "visibility": 1
}
{- "id": 0,
- "user_id": 0,
- "name": "string",
- "description": "string",
- "visibility": 1,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z",
- "links": "string"
}
Get one specific list.
list_id required | integer |
accept required | string Default: application/json Default header needed for every request |
{- "id": 0,
- "user_id": 0,
- "name": "string",
- "description": "string",
- "visibility": 1,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z",
- "links": "string"
}
Update one specific list.
list_id required | integer |
accept required | string Default: application/json Default header needed for every request |
description | string |
visibility | integer (Visibility) Enum: 1 2 3 Defines the visibility: 1 - public, 2 - internal, 3 - private |
name required | string |
{- "name": "Web Development Tools",
- "description": "Various tools and applications for a more productiove web development.",
- "visibility": 1
}
{- "id": 0,
- "user_id": 0,
- "name": "string",
- "description": "string",
- "visibility": 1,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z",
- "links": "string"
}
Get all links of one specific list.
list_id required | integer |
per_page | integer >= -1 Amount of entries to return per page. Use -1 to return all items. |
accept required | string Default: application/json Default header needed for every request |
{- "total": 0,
- "to": 0,
- "prev_page_url": "string",
- "per_page": "string",
- "path": "string",
- "next_page_url": "string",
- "last_page": 0,
- "from": 0,
- "data": [
- {
- "id": 84,
- "user_id": 1,
- "title": "string",
- "description": "string",
- "icon": "string",
- "visibility": 1,
- "status": 1,
- "check_disabled": true,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z"
}
], - "current_page": 0
}
Search Lists to be used for Link editing.
per_page | integer >= -1 Amount of entries to return per page. Use -1 to return all items. |
query required | string Query used to search for Lists |
accept required | string Default: application/json Default header needed for every request |
{- "11": "Scientific Articles",
- "23": "Web Development Articles"
}
Get all notes of one specific link.
link_id required | integer ID of the link you want to get notes for |
per_page | integer >= -1 Amount of entries to return per page. Use -1 to return all items. |
accept required | string Default: application/json Default header needed for every request |
{- "total": 0,
- "to": 0,
- "prev_page_url": "string",
- "per_page": "string",
- "path": "string",
- "next_page_url": "string",
- "last_page": 0,
- "from": 0,
- "data": [
- {
- "id": 84,
- "user_id": 1,
- "link_id": 1,
- "note": "string",
- "visibility": 1,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z"
}
], - "current_page": 0
}
Create a new Note.
accept required | string Default: application/json Default header needed for every request |
link_id required | integer |
note required | string |
is_private | integer (Visibility) Enum: 1 2 3 Defines the visibility: 1 - public, 2 - internal, 3 - private |
{- "link_id": 23,
- "note": "Interesting article, may be useful for later research about state machines in Go.",
- "visibility": 1
}
{- "id": 84,
- "user_id": 1,
- "link_id": 1,
- "note": "string",
- "visibility": 1,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z"
}
Update one specific Note.
note_id required | integer |
accept required | string Default: application/json Default header needed for every request |
note required | string |
is_private | integer (Visibility) Enum: 1 2 3 Defines the visibility: 1 - public, 2 - internal, 3 - private |
{- "note": "Interesting article, may be useful for later research about state machines in Go.",
- "visibility": 1
}
{- "id": 84,
- "user_id": 1,
- "link_id": 1,
- "note": "string",
- "visibility": 1,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z"
}
Get all trashed links.
accept required | string Default: application/json Default header needed for every request |
[- {
- "id": 84,
- "user_id": 1,
- "title": "string",
- "description": "string",
- "icon": "string",
- "visibility": 1,
- "status": 1,
- "check_disabled": true,
- "lists": [
- {
- "id": 0,
- "user_id": 0,
- "name": "string",
- "description": "string",
- "visibility": 1,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z",
- "links": "string"
}
], - "tags": [
- {
- "id": 0,
- "user_id": 0,
- "name": "string",
- "visibility": 1,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z"
}
], - "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z"
}
]
Get all trashed lists.
accept required | string Default: application/json Default header needed for every request |
[- {
- "id": 0,
- "user_id": 0,
- "name": "string",
- "description": "string",
- "visibility": 1,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z",
- "links": "string"
}
]
Get all trashed notes.
accept required | string Default: application/json Default header needed for every request |
[- {
- "id": 84,
- "user_id": 1,
- "link_id": 1,
- "note": "string",
- "visibility": 1,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z"
}
]
Delete all trashed entries for a given model.
accept required | string Default: application/json Default header needed for every request |
model required | string Enum: "links" "lists" "tags" "notes" Model type |
{- "model": "links"
}
Restore one specific entry from the trash.
accept required | string Default: application/json Default header needed for every request |
model required | string Enum: "link" "list" "tag" "note" Entry type |
id required | integer Entry ID |
{- "model": "link",
- "id": 0
}
Search all links saved in LinkAce
per_page | integer >= -1 Amount of entries to return per page. Use -1 to return all items. |
query required | string Query used to search for Links |
search_title | boolean Enables searching in the title |
search_description | boolean Enables searching in the description |
private_only | boolean Search for private links only |
broken_only | boolean Search for broken links only (Status is not "Ok") |
empty_lists | boolean Search for links without any lists attatched |
empty_tags | boolean Search for links without any tags attatched |
only_lists | string Comma-separated list of list IDs a link must have |
only_tags | string Comma-separated list of tag IDs a link must have |
order_by | string Default: "title:asc" Enum: "title:asc" "title:desc" "url:asc" "url:desc" "created_at:asc" "created_at:desc" Order the results by the following format: "field_to_order:order_direction", e.g. "title:asc" |
accept required | string Default: application/json Default header needed for every request |
{- "total": 0,
- "to": 0,
- "prev_page_url": "string",
- "per_page": "string",
- "path": "string",
- "next_page_url": "string",
- "last_page": 0,
- "from": 0,
- "data": [
- {
- "id": 84,
- "user_id": 1,
- "title": "string",
- "description": "string",
- "icon": "string",
- "visibility": 1,
- "status": 1,
- "check_disabled": true,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z"
}
], - "current_page": 0
}
Search Lists to be used for Link editing.
per_page | integer >= -1 Amount of entries to return per page. Use -1 to return all items. |
query required | string Query used to search for Lists |
accept required | string Default: application/json Default header needed for every request |
{- "11": "Scientific Articles",
- "23": "Web Development Articles"
}
Bulk store links
accept required | string Default: application/json Default header needed for every request |
Array of objects (Model: Link Request) |
{- "models": [
- {
- "title": "The PHP Framework for Web Artisans",
- "description": "Laravel is a web application framework with expressive, elegant syntax. We’ve already laid the foundation — freeing you to create without sweating the small things.",
- "lists": [
- 5
], - "tags": [
- 9,
- 13,
- 29
], - "visibility": 2,
- "check_disabled": false
}, - {
- "title": "DuckDuckGo — Privacy, simplified.",
- "description": "The Internet privacy company that empowers you to seamlessly take control of your personal information online, without any tradeoffs.",
- "lists": [
- 5
], - "tags": [
- 9,
- 13,
- 29
], - "visibility": 1,
- "check_disabled": false
}
]
}
[- {
- "id": 84,
- "user_id": 1,
- "title": "string",
- "description": "string",
- "icon": "string",
- "visibility": 1,
- "status": 1,
- "check_disabled": true,
- "lists": [
- {
- "id": 0,
- "user_id": 0,
- "name": "string",
- "description": "string",
- "visibility": 1,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z",
- "links": "string"
}
], - "tags": [
- {
- "id": 0,
- "user_id": 0,
- "name": "string",
- "visibility": 1,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z"
}
], - "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z"
}
]
Bulk editing links
accept required | string Default: application/json Default header needed for every request |
models required | Array of arrays |
tags required | Array of arrays |
tags_mode required | string Enum: "append" "replace" |
lists required | Array of arrays |
lists_mode required | string Enum: "append" "replace" 'append' adds the provided Lists to existing ones, while 'replace' replaces all existing ones |
visibility | integer (Visibility) Enum: 1 2 3 Defines the visibility: 1 - public, 2 - internal, 3 - private |
{- "models": [
- 3,
- 75,
- 257
], - "tags": [
- 4,
- 7
], - "tags_mode": "append",
- "lists": [
- 9
], - "lists_mode": "replace",
- "visibility": 2
}
[- {
- "id": 84,
- "user_id": 1,
- "title": "string",
- "description": "string",
- "icon": "string",
- "visibility": 1,
- "status": 1,
- "check_disabled": true,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z"
}
]
Bulk store lists
accept required | string Default: application/json Default header needed for every request |
Array of objects (Model: List Request) |
{- "models": [
- {
- "name": "Web Development Tools",
- "description": "Various tools and applications for a more productiove web development.",
- "visibility": 1
}, - {
- "name": "All about Laravel",
- "description": "Various tools, packages and tutorials around the Laravel ecosystem.",
- "visibility": 2
}
]
}
[- {
- "id": 0,
- "user_id": 0,
- "name": "string",
- "description": "string",
- "visibility": 1,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z",
- "links": "string"
}
]
Bulk editing lists
accept required | string Default: application/json Default header needed for every request |
models required | Array of arrays |
visibility | integer (Visibility) Enum: 1 2 3 Defines the visibility: 1 - public, 2 - internal, 3 - private |
{- "models": [
- 3,
- 75,
- 257
], - "visibility": 2
}
[- {
- "id": 0,
- "user_id": 0,
- "name": "string",
- "description": "string",
- "visibility": 1,
- "created_at": "2020-03-09T19:33:23.000000Z",
- "updated_at": "2020-03-09T19:33:23.000000Z",
- "deleted_at": "2020-03-09T19:33:23.000000Z",
- "links": "string"
}
]
Bulk deletion of links, lists or tags
accept required | string Default: application/json Default header needed for every request |
type required | string Enum: "links" "lists" "tags" |
models required | Array of arrays IDs of the links, lists or tags to be deleted |
{- "models": [
- 3,
- 75,
- 257
], - "type": "links"
}
{- "3": true,
- "75": true,
- "257": false
}