LinkAce API Documentation

LinkAce API (2.0)

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.

Usage

Generating an API key

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.

Preview of the user
settings

Using the API key

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.

  • Replace https://your-linkace-url.com with your actual domain you use to access your LinkAce.
  • Replace YOUR-API-KEY-HERE with the API key you got from the user settings.
  • Fill the data JSON block with the actual data of the link you want to save.
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",
}

lists

Lists: Get all Lists

Get all lists.

Authorizations:
api_token
query Parameters
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

header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "to": 0,
  • "prev_page_url": "string",
  • "per_page": "string",
  • "path": "string",
  • "next_page_url": "string",
  • "last_page": 0,
  • "from": 0,
  • "data": [
    ],
  • "current_page": 0
}

Lists: Create

Create a new List.

Authorizations:
api_token
header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Request Body schema: application/json
description
string
visibility
integer (Visibility)
Enum: 1 2 3

Defines the visibility: 1 - public, 2 - internal, 3 - private

name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "Web Development Tools",
  • "description": "Various tools and applications for a more productiove web development.",
  • "visibility": 1
}

Response samples

Content type
application/json
{
  • "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"
}

Lists: List Details

Get one specific list.

Authorizations:
api_token
path Parameters
list_id
required
integer
header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Responses

Response samples

Content type
application/json
{
  • "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"
}

Lists: Update

Update one specific list.

Authorizations:
api_token
path Parameters
list_id
required
integer
header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Request Body schema: application/json
description
string
visibility
integer (Visibility)
Enum: 1 2 3

Defines the visibility: 1 - public, 2 - internal, 3 - private

name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "Web Development Tools",
  • "description": "Various tools and applications for a more productiove web development.",
  • "visibility": 1
}

Response samples

Content type
application/json
{
  • "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"
}

Lists: Delete

Delete one specific list.

Authorizations:
api_token
path Parameters
list_id
required
integer
header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Responses

Search Lists for Link Editing

Search Lists to be used for Link editing.

Authorizations:
api_token
query Parameters
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

header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Responses

Response samples

Content type
application/json
{
  • "11": "Scientific Articles",
  • "23": "Web Development Articles"
}

tags

Tags: Get all Tags

Get all tags.

Authorizations:
api_token
query Parameters
per_page
integer >= -1

Amount of entries to return per page. Use -1 to return all items.

order_by
string
Enum: "id" "name" "visibility" "created_at" "updated_at"

Order elements by the specified field

order_dir
string
Enum: "asc" "desc"

Order elements in ascending or descending order

header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "to": 0,
  • "prev_page_url": "string",
  • "per_page": "string",
  • "path": "string",
  • "next_page_url": "string",
  • "last_page": 0,
  • "from": 0,
  • "data": [
    ],
  • "current_page": 0
}

Tags: Create

Create a new tag.

Authorizations:
api_token
header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Request Body schema: application/json
name
required
string
visibility
integer (Visibility)
Enum: 1 2 3

Defines the visibility: 1 - public, 2 - internal, 3 - private

Responses

Request samples

Content type
application/json
{
  • "name": "programming",
  • "visibility": 1
}

Response samples

Content type
application/json
{
  • "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"
}

Tags: Tag Details

Get one specific tag.

Authorizations:
api_token
path Parameters
tag_id
required
integer
header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Responses

Response samples

Content type
application/json
{
  • "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"
}

Tags: Update

Update one specific Tag.

Authorizations:
api_token
path Parameters
tag_id
required
integer
header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Request Body schema: application/json
name
required
string
visibility
integer (Visibility)
Enum: 1 2 3

Defines the visibility: 1 - public, 2 - internal, 3 - private

Responses

Request samples

Content type
application/json
{
  • "name": "programming",
  • "visibility": 1
}

Response samples

Content type
application/json
{
  • "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"
}

Tag: Delete

Delete one specific tag.

Authorizations:
api_token
path Parameters
tag_id
required
integer
header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Responses

Search Tags for Link Editing

Search tags to be used for Link editing.

Authorizations:
api_token
query Parameters
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 Tags

header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Responses

Response samples

Content type
application/json
{
  • "83": "programming",
  • "138": "programming-books"
}

notes

Notes: Create

Create a new Note.

Authorizations:
api_token
header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Request Body schema: application/json
link_id
required
integer
note
required
string
is_private
integer (Visibility)
Enum: 1 2 3

Defines the visibility: 1 - public, 2 - internal, 3 - private

Responses

Request samples

Content type
application/json
{
  • "link_id": 23,
  • "note": "Interesting article, may be useful for later research about state machines in Go.",
  • "visibility": 1
}

Response samples

Content type
application/json
{
  • "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"
}

Notes: Update

Update one specific Note.

Authorizations:
api_token
path Parameters
note_id
required
integer
header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Request Body schema: application/json
note
required
string
is_private
integer (Visibility)
Enum: 1 2 3

Defines the visibility: 1 - public, 2 - internal, 3 - private

Responses

Request samples

Content type
application/json
{
  • "note": "Interesting article, may be useful for later research about state machines in Go.",
  • "visibility": 1
}

Response samples

Content type
application/json
{
  • "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"
}

Note: Delete

Delete one specific note.

Authorizations:
api_token
path Parameters
note_id
required
integer
header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Responses

trash

Trash: Get Lists

Get all trashed lists.

Authorizations:
api_token
header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Trash: Get Tags

Get all trashed tags.

Authorizations:
api_token
header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Trash: Get Notes

Get all trashed notes.

Authorizations:
api_token
header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Trash: Clear for Model

Delete all trashed entries for a given model.

Authorizations:
api_token
header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Request Body schema: application/json
model
required
string
Enum: "links" "lists" "tags" "notes"

Model type

Responses

Request samples

Content type
application/json
{
  • "model": "links"
}

Trash: Restore entry

Restore one specific entry from the trash.

Authorizations:
api_token
header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Request Body schema: application/json
model
required
string
Enum: "link" "list" "tag" "note"

Entry type

id
required
integer

Entry ID

Responses

Request samples

Content type
application/json
{
  • "model": "link",
  • "id": 0
}

search

Search Lists for Link Editing

Search Lists to be used for Link editing.

Authorizations:
api_token
query Parameters
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

header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Responses

Response samples

Content type
application/json
{
  • "11": "Scientific Articles",
  • "23": "Web Development Articles"
}

Search Tags for Link Editing

Search tags to be used for Link editing.

Authorizations:
api_token
query Parameters
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 Tags

header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Responses

Response samples

Content type
application/json
{
  • "83": "programming",
  • "138": "programming-books"
}

bulk

Bulk Store: Lists

Bulk store lists

Authorizations:
api_token
header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Request Body schema: application/json
Array of objects (Model: List Request)

Responses

Request samples

Content type
application/json
{
  • "models": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Bulk Edit: Lists

Bulk editing lists

Authorizations:
api_token
header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Request Body schema: application/json
models
required
Array of arrays
visibility
integer (Visibility)
Enum: 1 2 3

Defines the visibility: 1 - public, 2 - internal, 3 - private

Responses

Request samples

Content type
application/json
{
  • "models": [
    ],
  • "visibility": 2
}

Response samples

Content type
application/json
[
  • {
    }
]

Bulk Store: Tags

Bulk store tags

Authorizations:
api_token
header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Request Body schema: application/json
Array of objects (Model: Tag Request)

Responses

Request samples

Content type
application/json
{
  • "models": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Bulk Edit: Tags

Bulk editing tags

Authorizations:
api_token
header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Request Body schema: application/json
models
required
Array of arrays
visibility
integer (Visibility)
Enum: 1 2 3

Defines the visibility: 1 - public, 2 - internal, 3 - private

Responses

Request samples

Content type
application/json
{
  • "models": [
    ],
  • "visibility": 2
}

Response samples

Content type
application/json
[
  • {
    }
]

Bulk Deletion

Bulk deletion of links, lists or tags

Authorizations:
api_token
header Parameters
accept
required
string
Default: application/json

Default header needed for every request

Request Body schema: application/json
type
required
string
Enum: "links" "lists" "tags"
models
required
Array of arrays

IDs of the links, lists or tags to be deleted

Responses

Request samples

Content type
application/json
{
  • "models": [
    ],
  • "type": "links"
}

Response samples

Content type
application/json
{
  • "3": true,
  • "75": true,
  • "257": false
}