Dashboards

Dashboards

The Dashboard:

Dashboards are a group of cards that allow you to visualize your data in a variety of ways.

Sharing:

A dashboard can be shared between multiple users, organizations, and projects. However, the dashboard's cards will only be able to query data that the user has access to.

Ownership:

The owner of a dashboard is determined by the {ownerEntityType} and {ownerEntity} fields. A dashboard can be owned by a user, organization, or project.

The owner of the dashboard will be able to edit the dashboard and its cards. The owner will also be able to share the dashboard with other users, organizations, and projects.

Card Configurations:

A dashboard is made up of cards. Each card has a configuration that determines what data the card will query and how it will be displayed. A card configuration is made up of the following fields:

Field

Type

Description

{card}

string (identifier)

Card id

{x}

number

The distance from the left that the card's top-left corner begins

{y}

number

The distance from the top that the card's top-left begins

{w}

number

The width of the card

{h}

number

The height of the card

Get all

Description


Fetch all dashboards that the user has access to.

Parameters


headers

Authorization

string

Required

Description:

Bearer token - JWT

Example:

"Bearer <token>"

Responses


Description:

Returns an array of [dashboards](/docs/api/dashboards).


Type:

Array of Dashboard objects


Example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
    _id: "0f9c0b0b4f0c6b0017f0e3b1",
    name: "Dashboard one",
    notes: "The first dashboard",
    cardConfigs: {
        __type: "CardConfig",
        card: {
            key: "card",
            type: "string",
            example: "0f9c0b0b4f0c6b0017f0e3b1"
        },
        x: {
            key: "x",
            type: "number",
            example: 0
        },
        y: {
            key: "y",
            type: "number",
            example: 0
        },
        w: {
            key: "w",
            type: "number",
            example: 10
        },
        h: {
            key: "h",
            type: "number",
            example: 10
        }
    },
    ownerEntityType: "User",
    ownerEntity: "0f9c0b0b4f0c6b0017f0e3b1"
}

Type:

Error object


Example:

1
2
3
4
5
{
    name: "Invalid Role",
    message: "You do not have the required role to access this resource",
    status: 401
}

Type:

Error object


Example:

1
2
3
4
5
{
    name: "Internal Server Error",
    message: "Internal Server Error",
    status: 500
}

get

/dashboard/

Request

1
2
3
4
curl https://logharvestor.com/api/v1/dashboard/ \
    -X GET \
    -H 'Authorization: Bearer <token>' \
    

Response

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
    _id: "0f9c0b0b4f0c6b0017f0e3b1",
    name: "Dashboard one",
    notes: "The first dashboard",
    cardConfigs: {
        __type: "CardConfig",
        card: {
            key: "card",
            type: "string",
            example: "0f9c0b0b4f0c6b0017f0e3b1"
        },
        x: {
            key: "x",
            type: "number",
            example: 0
        },
        y: {
            key: "y",
            type: "number",
            example: 0
        },
        w: {
            key: "w",
            type: "number",
            example: 10
        },
        h: {
            key: "h",
            type: "number",
            example: 10
        }
    },
    ownerEntityType: "User",
    ownerEntity: "0f9c0b0b4f0c6b0017f0e3b1"
}

Get by id

Description


Find the dashboards that matches the {dashboardId} query parameter.

Parameters


headers

Authorization

string

Required

Description:

Bearer token - JWT

Example:

"Bearer <token>"

params

dashboardId

string

Required

Description:

Dashboard identifier

Example:

"0f9c0b0b4f0c6b0017f0e3b1"

Responses


Type:

Dashboard object


Example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
    _id: "0f9c0b0b4f0c6b0017f0e3b1",
    name: "Dashboard one",
    notes: "The first dashboard",
    cardConfigs: {
        __type: "CardConfig",
        card: {
            key: "card",
            type: "string",
            example: "0f9c0b0b4f0c6b0017f0e3b1"
        },
        x: {
            key: "x",
            type: "number",
            example: 0
        },
        y: {
            key: "y",
            type: "number",
            example: 0
        },
        w: {
            key: "w",
            type: "number",
            example: 10
        },
        h: {
            key: "h",
            type: "number",
            example: 10
        }
    },
    ownerEntityType: "User",
    ownerEntity: "0f9c0b0b4f0c6b0017f0e3b1"
}

Type:

Error object


Example:

1
2
3
4
5
{
    name: "Invalid Role",
    message: "You do not have the required role to access this resource",
    status: 401
}

Type:

Error object


Example:

1
2
3
4
5
{
    name: "Internal Server Error",
    message: "Internal Server Error",
    status: 500
}

get

/dashboard/:dashboardId

Request

1
2
3
4
curl https://logharvestor.com/api/v1/dashboard/:dashboardId \
    -X GET \
    -H 'Authorization: Bearer <token>' \
    

Response

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
    _id: "0f9c0b0b4f0c6b0017f0e3b1",
    name: "Dashboard one",
    notes: "The first dashboard",
    cardConfigs: {
        __type: "CardConfig",
        card: {
            key: "card",
            type: "string",
            example: "0f9c0b0b4f0c6b0017f0e3b1"
        },
        x: {
            key: "x",
            type: "number",
            example: 0
        },
        y: {
            key: "y",
            type: "number",
            example: 0
        },
        w: {
            key: "w",
            type: "number",
            example: 10
        },
        h: {
            key: "h",
            type: "number",
            example: 10
        }
    },
    ownerEntityType: "User",
    ownerEntity: "0f9c0b0b4f0c6b0017f0e3b1"
}

Create

Description


Create a new dashboard.

Parameters


headers

Authorization

string

Required

Description:

Bearer token - JWT

Example:

"Bearer <token>"

body

name

string

Required

Description:

Dashboard name

Example:

"Dashboard one"

notes

string

Description:

Notes relevant to card

Example:

"The first dashboard"

cardConfigs

array

Required

Description:

Card configurations

Example:

CardConfig

ownerEntityType

string

Required

Description:

Dashboard owner entity type

Options:

Org | Project | User

Example:

"User"

ownerEntity

string

Required

Description:

Dashboard owner entity identifier

Example:

"0f9c0b0b4f0c6b0017f0e3b1"

Responses


Type:

Dashboard object


Example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
    _id: "0f9c0b0b4f0c6b0017f0e3b1",
    name: "Dashboard one",
    notes: "The first dashboard",
    cardConfigs: {
        __type: "CardConfig",
        card: {
            key: "card",
            type: "string",
            example: "0f9c0b0b4f0c6b0017f0e3b1"
        },
        x: {
            key: "x",
            type: "number",
            example: 0
        },
        y: {
            key: "y",
            type: "number",
            example: 0
        },
        w: {
            key: "w",
            type: "number",
            example: 10
        },
        h: {
            key: "h",
            type: "number",
            example: 10
        }
    },
    ownerEntityType: "User",
    ownerEntity: "0f9c0b0b4f0c6b0017f0e3b1"
}

Type:

Error object


Example:

1
2
3
4
5
{
    name: "Invalid Role",
    message: "You do not have the required role to access this resource",
    status: 401
}

Type:

Error object


Example:

1
2
3
4
5
{
    name: "Internal Server Error",
    message: "Internal Server Error",
    status: 500
}

post

/dashboard/

Request

1
2
3
4
5
curl https://logharvestor.com/api/v1/dashboard/ \
    -X POST \
    -H 'Authorization: Bearer <token>' \
    -H 'Content-Type: application/json' \
	--data-raw '{"name":"\"Dashboard one\"","notes":"\"The first dashboard\"","ownerEntityType":"\"User\"","ownerEntity":"\"0f9c0b0b4f0c6b0017f0e3b1\""}'

Response

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
    _id: "0f9c0b0b4f0c6b0017f0e3b1",
    name: "Dashboard one",
    notes: "The first dashboard",
    cardConfigs: {
        __type: "CardConfig",
        card: {
            key: "card",
            type: "string",
            example: "0f9c0b0b4f0c6b0017f0e3b1"
        },
        x: {
            key: "x",
            type: "number",
            example: 0
        },
        y: {
            key: "y",
            type: "number",
            example: 0
        },
        w: {
            key: "w",
            type: "number",
            example: 10
        },
        h: {
            key: "h",
            type: "number",
            example: 10
        }
    },
    ownerEntityType: "User",
    ownerEntity: "0f9c0b0b4f0c6b0017f0e3b1"
}

Update

Description


Update a dashboard.

Parameters


headers

Authorization

string

Required

Description:

Bearer token - JWT

Example:

"Bearer <token>"

params

dashboardId

string

Required

Description:

Dashboard identifier

Example:

"0f9c0b0b4f0c6b0017f0e3b1"

body

name

string

Required

Description:

Dashboard name

Example:

"Dashboard one"

notes

string

Description:

Notes relevant to card

Example:

"The first dashboard"

cardConfigs

array

Required

Description:

Card configurations

Example:

CardConfig

ownerEntityType

string

Required

Description:

Dashboard owner entity type

Options:

Org | Project | User

Example:

"User"

ownerEntity

string

Required

Description:

Dashboard owner entity identifier

Example:

"0f9c0b0b4f0c6b0017f0e3b1"

Responses


Type:

Dashboard object


Example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
    _id: "0f9c0b0b4f0c6b0017f0e3b1",
    name: "Dashboard one",
    notes: "The first dashboard",
    cardConfigs: {
        __type: "CardConfig",
        card: {
            key: "card",
            type: "string",
            example: "0f9c0b0b4f0c6b0017f0e3b1"
        },
        x: {
            key: "x",
            type: "number",
            example: 0
        },
        y: {
            key: "y",
            type: "number",
            example: 0
        },
        w: {
            key: "w",
            type: "number",
            example: 10
        },
        h: {
            key: "h",
            type: "number",
            example: 10
        }
    },
    ownerEntityType: "User",
    ownerEntity: "0f9c0b0b4f0c6b0017f0e3b1"
}

Type:

Error object


Example:

1
2
3
4
5
{
    name: "Invalid Role",
    message: "You do not have the required role to access this resource",
    status: 401
}

Type:

Error object


Example:

1
2
3
4
5
{
    name: "Entity not found",
    message: "Entity not found",
    status: 404
}

Type:

Error object


Example:

1
2
3
4
5
{
    name: "Internal Server Error",
    message: "Internal Server Error",
    status: 500
}

put

/dashboard/:dashboardId

Request

1
2
3
4
5
curl https://logharvestor.com/api/v1/dashboard/:dashboardId \
    -X PUT \
    -H 'Authorization: Bearer <token>' \
    -H 'Content-Type: application/json' \
	--data-raw '{"name":"\"Dashboard one\"","notes":"\"The first dashboard\"","ownerEntityType":"\"User\"","ownerEntity":"\"0f9c0b0b4f0c6b0017f0e3b1\""}'

Response

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
    _id: "0f9c0b0b4f0c6b0017f0e3b1",
    name: "Dashboard one",
    notes: "The first dashboard",
    cardConfigs: {
        __type: "CardConfig",
        card: {
            key: "card",
            type: "string",
            example: "0f9c0b0b4f0c6b0017f0e3b1"
        },
        x: {
            key: "x",
            type: "number",
            example: 0
        },
        y: {
            key: "y",
            type: "number",
            example: 0
        },
        w: {
            key: "w",
            type: "number",
            example: 10
        },
        h: {
            key: "h",
            type: "number",
            example: 10
        }
    },
    ownerEntityType: "User",
    ownerEntity: "0f9c0b0b4f0c6b0017f0e3b1"
}

Delete

Description


Delete a dashboard.

  • This will permanently delete the dashboard and all associated meta data.
  • This will not delete any {cards} that are associated with the dashboard.
  • A successful response will return a snapshot of the deleted dashboard.
  • If the dashboard is already deleted, this will return a 404.
  • ⚠️ WARNING ⚠️

  • This action cannot be undone.
  • If you do not want to permanently delete the dashboard, consider archiving it instead.
  • Parameters


    headers

    Authorization

    string

    Required

    Description:

    Bearer token - JWT

    Example:

    "Bearer <token>"

    params

    dashboardId

    string

    Required

    Description:

    Dashboard identifier

    Example:

    "0f9c0b0b4f0c6b0017f0e3b1"

    Responses


    Description:

    Returns a snapshot of the deleted [dashboard](/docs/api/dashboards).


    Type:

    Dashboard object


    Example:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    {
        _id: "0f9c0b0b4f0c6b0017f0e3b1",
        name: "Dashboard one",
        notes: "The first dashboard",
        cardConfigs: {
            __type: "CardConfig",
            card: {
                key: "card",
                type: "string",
                example: "0f9c0b0b4f0c6b0017f0e3b1"
            },
            x: {
                key: "x",
                type: "number",
                example: 0
            },
            y: {
                key: "y",
                type: "number",
                example: 0
            },
            w: {
                key: "w",
                type: "number",
                example: 10
            },
            h: {
                key: "h",
                type: "number",
                example: 10
            }
        },
        ownerEntityType: "User",
        ownerEntity: "0f9c0b0b4f0c6b0017f0e3b1"
    }

    Type:

    Error object


    Example:

    1
    2
    3
    4
    5
    {
        name: "Invalid Role",
        message: "You do not have the required role to access this resource",
        status: 401
    }

    Type:

    Error object


    Example:

    1
    2
    3
    4
    5
    {
        name: "Entity not found",
        message: "Entity not found",
        status: 404
    }

    Type:

    Error object


    Example:

    1
    2
    3
    4
    5
    {
        name: "Internal Server Error",
        message: "Internal Server Error",
        status: 500
    }

    delete

    /dashboard/:dashboardId

    Request

    1
    2
    3
    4
    curl https://logharvestor.com/api/v1/dashboard/:dashboardId \
        -X DELETE \
        -H 'Authorization: Bearer <token>' \
        

    Response

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    {
        _id: "0f9c0b0b4f0c6b0017f0e3b1",
        name: "Dashboard one",
        notes: "The first dashboard",
        cardConfigs: {
            __type: "CardConfig",
            card: {
                key: "card",
                type: "string",
                example: "0f9c0b0b4f0c6b0017f0e3b1"
            },
            x: {
                key: "x",
                type: "number",
                example: 0
            },
            y: {
                key: "y",
                type: "number",
                example: 0
            },
            w: {
                key: "w",
                type: "number",
                example: 10
            },
            h: {
                key: "h",
                type: "number",
                example: 10
            }
        },
        ownerEntityType: "User",
        ownerEntity: "0f9c0b0b4f0c6b0017f0e3b1"
    }

    Archive

    Description


    Archive a dashboard. This will prevent the dashboard from being used, but will not delete it.

    Parameters


    headers

    Authorization

    string

    Required

    Description:

    Bearer token - JWT

    Example:

    "Bearer <token>"

    params

    dashboardId

    string

    Required

    Description:

    Dashboard identifier

    Example:

    "0f9c0b0b4f0c6b0017f0e3b1"

    Responses


    Description:

    Returns the archived dashboard.


    Type:

    Dashboard object


    Example:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    {
        _id: "0f9c0b0b4f0c6b0017f0e3b1",
        name: "Dashboard one",
        notes: "The first dashboard",
        cardConfigs: {
            __type: "CardConfig",
            card: {
                key: "card",
                type: "string",
                example: "0f9c0b0b4f0c6b0017f0e3b1"
            },
            x: {
                key: "x",
                type: "number",
                example: 0
            },
            y: {
                key: "y",
                type: "number",
                example: 0
            },
            w: {
                key: "w",
                type: "number",
                example: 10
            },
            h: {
                key: "h",
                type: "number",
                example: 10
            }
        },
        ownerEntityType: "User",
        ownerEntity: "0f9c0b0b4f0c6b0017f0e3b1"
    }

    Type:

    Error object


    Example:

    1
    2
    3
    4
    5
    {
        name: "Invalid Role",
        message: "You do not have the required role to access this resource",
        status: 401
    }

    Type:

    Error object


    Example:

    1
    2
    3
    4
    5
    {
        name: "Entity not found",
        message: "Entity not found",
        status: 404
    }

    Type:

    Error object


    Example:

    1
    2
    3
    4
    5
    {
        name: "Internal Server Error",
        message: "Internal Server Error",
        status: 500
    }

    post

    /dashboard/:dashboardId/archive

    Request

    1
    2
    3
    4
    curl https://logharvestor.com/api/v1/dashboard/:dashboardId/archive \
        -X POST \
        -H 'Authorization: Bearer <token>' \
        

    Response

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    {
        _id: "0f9c0b0b4f0c6b0017f0e3b1",
        name: "Dashboard one",
        notes: "The first dashboard",
        cardConfigs: {
            __type: "CardConfig",
            card: {
                key: "card",
                type: "string",
                example: "0f9c0b0b4f0c6b0017f0e3b1"
            },
            x: {
                key: "x",
                type: "number",
                example: 0
            },
            y: {
                key: "y",
                type: "number",
                example: 0
            },
            w: {
                key: "w",
                type: "number",
                example: 10
            },
            h: {
                key: "h",
                type: "number",
                example: 10
            }
        },
        ownerEntityType: "User",
        ownerEntity: "0f9c0b0b4f0c6b0017f0e3b1"
    }

    Unarchive

    Description


    Unarchive a dashboards. This will allow the dashboard. to be used again.

    Parameters


    headers

    Authorization

    string

    Required

    Description:

    Bearer token - JWT

    Example:

    "Bearer <token>"

    params

    dashboardId

    string

    Required

    Description:

    Dashboard identifier

    Example:

    "0f9c0b0b4f0c6b0017f0e3b1"

    Responses


    Description:

    Returns the unarchived dashboard.


    Type:

    Dashboard object


    Example:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    {
        _id: "0f9c0b0b4f0c6b0017f0e3b1",
        name: "Dashboard one",
        notes: "The first dashboard",
        cardConfigs: {
            __type: "CardConfig",
            card: {
                key: "card",
                type: "string",
                example: "0f9c0b0b4f0c6b0017f0e3b1"
            },
            x: {
                key: "x",
                type: "number",
                example: 0
            },
            y: {
                key: "y",
                type: "number",
                example: 0
            },
            w: {
                key: "w",
                type: "number",
                example: 10
            },
            h: {
                key: "h",
                type: "number",
                example: 10
            }
        },
        ownerEntityType: "User",
        ownerEntity: "0f9c0b0b4f0c6b0017f0e3b1"
    }

    Type:

    Error object


    Example:

    1
    2
    3
    4
    5
    {
        name: "Invalid Role",
        message: "You do not have the required role to access this resource",
        status: 401
    }

    Type:

    Error object


    Example:

    1
    2
    3
    4
    5
    {
        name: "Entity not found",
        message: "Entity not found",
        status: 404
    }

    Type:

    Error object


    Example:

    1
    2
    3
    4
    5
    {
        name: "Internal Server Error",
        message: "Internal Server Error",
        status: 500
    }

    post

    /dashboard/:dashboardId/unarchive

    Request

    1
    2
    3
    4
    curl https://logharvestor.com/api/v1/dashboard/:dashboardId/unarchive \
        -X POST \
        -H 'Authorization: Bearer <token>' \
        

    Response

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    {
        _id: "0f9c0b0b4f0c6b0017f0e3b1",
        name: "Dashboard one",
        notes: "The first dashboard",
        cardConfigs: {
            __type: "CardConfig",
            card: {
                key: "card",
                type: "string",
                example: "0f9c0b0b4f0c6b0017f0e3b1"
            },
            x: {
                key: "x",
                type: "number",
                example: 0
            },
            y: {
                key: "y",
                type: "number",
                example: 0
            },
            w: {
                key: "w",
                type: "number",
                example: 10
            },
            h: {
                key: "h",
                type: "number",
                example: 10
            }
        },
        ownerEntityType: "User",
        ownerEntity: "0f9c0b0b4f0c6b0017f0e3b1"
    }

    Log_Harvestor_Icon

    Join our newsletter

    support@logharvestor.com

    Copyright © Log Harvestor 2023TermsPrivacy