---
sidebar_position: 3
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

# Projects Database
A database of all my public projects including some metadata that are also visible on my [projects site](https://jonasjones.dev/projects)

:::note

The projects are updated once a day

:::


## GET /v1/projects/last_update

Get the date and time of the last update made to the projects database

:::tip[**Example** Response]
<Tabs>
    <TabItem value="200" label="200">
```json
"2024-08-30 00:22:59 UTC"
```
    </TabItem>
    <TabItem value="500" label="500">
```json
{
    "status": 500,
    "statusText": "Internal Server Error"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
    <TabItem value="503" label="503">
```json
API is down
{
    "status": 503,
    "statusText": "Service Unavailable"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
</Tabs>
:::

## GET /v1/projects/filter/getall
→ /v1/projects/filter/getall?limit=*<span style={{ color: "green" }}>limit</span>*&offset=*<span style={{ color: "green" }}>offset</span>*

Get all the project entries limited by <span style={{ color: "green" }}>limit</span> and <span style={{ color: "green" }}>offset</span>

| Parameter | Type                | Description                         | Example | Required | Default Value (if optional) |
| --------- | ------------------- | ----------------------------------- | ------- | -------- | --------------------------- |
| limit     | Number (0 ≤ n ≤ 50) | maximum amount of entries to select | 2       | Yes      | -                           |
| offset    | Number (*posirive*) | offset from *id* `0`                | 5       | Yes      | -                           |

:::tip[**Example** Response]
<Tabs>
    <TabItem value="200" label="200">
```json
{
    "results": [
        {
            "title": "Website",
            "description": "My website at https://jonasjones.dev",
            "status": "release",
            "statuscolor": "green",
            "categories": [
                "webdev",
                "website"
            ],
            "languages": {
                "Svelte": 39242,
                "CSS": 5297,
                "JavaScript": 2652,
                "TypeScript": 1272,
                "HTML": 406
            },
            "gh_api": "JonasunderscoreJones/jonasjones.dev",
            "version": "1.2.3",
            "backgroud": "/homepage.png",
            "links": {
                "GH": "https://github.com/JonasunderscoreJones/jonasjones.dev"
            },
            "visible": true,
            "last_update": 1723941271
        },
        {
            "title": "Jonas_Jones API",
            "description": "api used for my website",
            "status": "release",
            "statuscolor": "green",
            "categories": [
                "api",
                "tools"
            ],
            "languages": {
                "Rust": 73113
            },
            "gh_api": "JonasunderscoreJones/jonas_jones-api",
            "version": "0.4.1",
            "backgroud": "/jjapi.png",
            "links": {
                "GH": "https://github.com/JonasunderscoreJones/jonas_jones-api",
                "WB": "https://api.jonasjones.dev/v1/help"
            },
            "visible": true,
            "last_update": 1719693295
        }
    ],
    "count": 2
}
```
| Parameter   | Type               | Description                                                                                          |
| ----------- | ------------------ | ---------------------------------------------------------------------------------------------------- |
| title       | String             | The name of the project                                                                              |
| description | String             | The description of the project                                                                       |
| status      | String             | The status of the project                                                                            |
| statuscolor | String             | The color of the status                                                                              |
| categories  | [String]           | The categories of the project                                                                        |
| languages   | [String: String]   | The languages used in the project and the amount of code written in them                             |
| gh_api      | String             | The GitHub repository of the project                                                                 |
| version     | String             | The version of the project                                                                           |
| backgroud   | String             | The background image of the project                                                                  |
| links       | [String: String]   | The links of the project. These include GH (Github), WB (Website), MR (Modrinth) and CF (Curseforge) |
| visible     | Boolean            | Wether the project is visible on the projects site                                                   |
| last_update | Unix Timestamp     | The last time the project was updated                                                                |
| count       | Number             | The amount of projects returned                                                                      |
    </TabItem>
    <TabItem value="400" label="400">
```json
{
    "status": 400,
    "statusText": "Bad Request"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
    <TabItem value="500" label="500">
```json
{
    "status": 500,
    "statusText": "Internal Server Error"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
    <TabItem value="503" label="503">
```json
API is down
{
    "status": 503,
    "statusText": "Service Unavailable"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
</Tabs>
:::

## GET /v1/projects/filter/lastupdaterange
→ /v1/projects/filter/lastupdaterange?start=*<span style={{ color: "green" }}>start</span>*&end=*<span style={{ color: "green" }}>end</span>*&limit=*<span style={{ color: "green" }}>limit</span>*&offset=*<span style={{ color: "green" }}>offset</span>*

Get all projects that were last updated within a given timeframe

| Parameter | Type                | Description                         | Example    | Required | Default Value (if optional) |
| --------- | ------------------- | ----------------------------------- | ---------- | -------- | --------------------------- |
| start     | Date (YYYY-MM-DD)   | start date for date range           | 2024-8-2   | Yes      | -                           |
| end       | Date (YYYY-MM-DD)   | end date for date range             | 2024-10-22 | Yes      | -                           |
| limit     | Number (0 ≤ n ≤ 50) | maximum amount of entries to select | 2          | Yes      | -                           |
| offset    | Number (*posirive*) | offset from *id* `0`                | 5          | Yes      | -                           |

:::tip[**Example** Response]
<Tabs>
    <TabItem value="200" label="200">
```json
{
    "results": [
        {
            "title": "Website",
            "description": "My website at https://jonasjones.dev",
            "status": "release",
            "statuscolor": "green",
            "categories": [
                "webdev",
                "website"
            ],
            "languages": {
                "Svelte": 39242,
                "CSS": 5297,
                "JavaScript": 2652,
                "TypeScript": 1272,
                "HTML": 406
            },
            "gh_api": "JonasunderscoreJones/jonasjones.dev",
            "version": "1.2.3",
            "backgroud": "/homepage.png",
            "links": {
                "GH": "https://github.com/JonasunderscoreJones/jonasjones.dev"
            },
            "visible": true,
            "last_update": 1723941271
        },
        {
            "title": "Jonas_Jones API",
            "description": "api used for my website",
            "status": "release",
            "statuscolor": "green",
            "categories": [
                "api",
                "tools"
            ],
            "languages": {
                "Rust": 73113
            },
            "gh_api": "JonasunderscoreJones/jonas_jones-api",
            "version": "0.4.1",
            "backgroud": "/jjapi.png",
            "links": {
                "GH": "https://github.com/JonasunderscoreJones/jonas_jones-api",
                "WB": "https://api.jonasjones.dev/v1/help"
            },
            "visible": true,
            "last_update": 1719693295
        }
    ],
    "count": 2
}
```
| Parameter   | Type               | Description                                                                                          |
| ----------- | ------------------ | ---------------------------------------------------------------------------------------------------- |
| title       | String             | The name of the project                                                                              |
| description | String             | The description of the project                                                                       |
| status      | String             | The status of the project                                                                            |
| statuscolor | String             | The color of the status                                                                              |
| categories  | [String]           | The categories of the project                                                                        |
| languages   | [String: String]   | The languages used in the project and the amount of code written in them                             |
| gh_api      | String             | The GitHub repository of the project                                                                 |
| version     | String             | The version of the project                                                                           |
| backgroud   | String             | The background image of the project                                                                  |
| links       | [String: String]   | The links of the project. These include GH (Github), WB (Website), MR (Modrinth) and CF (Curseforge) |
| visible     | Boolean            | Wether the project is visible on the projects site                                                   |
| last_update | Unix Timestamp     | The last time the project was updated                                                                |
| count       | Number             | The amount of projects returned                                                                      |
    </TabItem>
    <TabItem value="400" label="400">
```json
{
    "status": 400,
    "statusText": "Bad Request"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
    <TabItem value="500" label="500">
```json
{
    "status": 500,
    "statusText": "Internal Server Error"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
    <TabItem value="503" label="503">
```json
API is down
{
    "status": 503,
    "statusText": "Service Unavailable"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
</Tabs>
:::

## GET /v1/projects/filter/title
→ /v1/projects/filter/title?title=*<span style={{ color: "green" }}>title</span>*&limit=*<span style={{ color: "green" }}>limit</span>*&offset=*<span style={{ color: "green" }}>offset</span>*

Get all project entries where the provided <span style={{ color: "green" }}>title</span> string exists within an entry's title

| Parameter | Type                | Description                                          | Example    | Required | Default Value (if optional) |
| --------- | ------------------- | ---------------------------------------------------- | ---------- | -------- | --------------------------- |
| title     | String              | Partial or full title (letter case irrelevant)       | "API"      | Yes      | -                           |
| limit     | Number (0 ≤ n ≤ 50) | maximum amount of entries to select                  | 2          | Yes      | -                           |
| offset    | Number (*posirive*) | offset from *id* `0`                                 | 5          | Yes      | -                           |

:::tip[**Example** Response]
<Tabs>
    <TabItem value="200" label="200">
```json
{
    "results": [
        {
            "title": "Website",
            "description": "My website at https://jonasjones.dev",
            "status": "release",
            "statuscolor": "green",
            "categories": [
                "webdev",
                "website"
            ],
            "languages": {
                "Svelte": 39242,
                "CSS": 5297,
                "JavaScript": 2652,
                "TypeScript": 1272,
                "HTML": 406
            },
            "gh_api": "JonasunderscoreJones/jonasjones.dev",
            "version": "1.2.3",
            "backgroud": "/homepage.png",
            "links": {
                "GH": "https://github.com/JonasunderscoreJones/jonasjones.dev"
            },
            "visible": true,
            "last_update": 1723941271
        },
        {
            "title": "Jonas_Jones API",
            "description": "api used for my website",
            "status": "release",
            "statuscolor": "green",
            "categories": [
                "api",
                "tools"
            ],
            "languages": {
                "Rust": 73113
            },
            "gh_api": "JonasunderscoreJones/jonas_jones-api",
            "version": "0.4.1",
            "backgroud": "/jjapi.png",
            "links": {
                "GH": "https://github.com/JonasunderscoreJones/jonas_jones-api",
                "WB": "https://api.jonasjones.dev/v1/help"
            },
            "visible": true,
            "last_update": 1719693295
        }
    ],
    "count": 2
}
```
| Parameter   | Type               | Description                                                                                          |
| ----------- | ------------------ | ---------------------------------------------------------------------------------------------------- |
| title       | String             | The name of the project                                                                              |
| description | String             | The description of the project                                                                       |
| status      | String             | The status of the project                                                                            |
| statuscolor | String             | The color of the status                                                                              |
| categories  | [String]           | The categories of the project                                                                        |
| languages   | [String: String]   | The languages used in the project and the amount of code written in them                             |
| gh_api      | String             | The GitHub repository of the project                                                                 |
| version     | String             | The version of the project                                                                           |
| backgroud   | String             | The background image of the project                                                                  |
| links       | [String: String]   | The links of the project. These include GH (Github), WB (Website), MR (Modrinth) and CF (Curseforge) |
| visible     | Boolean            | Wether the project is visible on the projects site                                                   |
| last_update | Unix Timestamp     | The last time the project was updated                                                                |
| count       | Number             | The amount of projects returned                                                                      |
    </TabItem>
    <TabItem value="400" label="400">
```json
{
    "status": 400,
    "statusText": "Bad Request"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
    <TabItem value="500" label="500">
```json
{
    "status": 500,
    "statusText": "Internal Server Error"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
    <TabItem value="503" label="503">
```json
API is down
{
    "status": 503,
    "statusText": "Service Unavailable"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
</Tabs>
:::

## GET /v1/projects/filter/description
→ /v1/projects/filter/description?description=*<span style={{ color: "green" }}>description</span>*&limit=*<span style={{ color: "green" }}>limit</span>*&offset=*<span style={{ color: "green" }}>offset</span>*

Get all project entries where the provided <span style={{ color: "green" }}>description</span> string exists within an entry's description

| Parameter   | Type                | Description                                          | Example    | Required | Default Value (if optional) |
| ----------- | ------------------- | ---------------------------------------------------- | ---------- | -------- | --------------------------- |
| description | String              | Partial or full description (letter case irrelevant) | "Sneakers" | Yes      | -                           |
| limit       | Number (0 ≤ n ≤ 50) | maximum amount of entries to select                  | 2          | Yes      | -                           |
| offset      | Number (*posirive*) | offset from *id* `0`                                 | 5          | Yes      | -                           |

:::tip[**Example** Response]
<Tabs>
    <TabItem value="200" label="200">
```json
{
    "results": [
        {
            "title": "Website",
            "description": "My website at https://jonasjones.dev",
            "status": "release",
            "statuscolor": "green",
            "categories": [
                "webdev",
                "website"
            ],
            "languages": {
                "Svelte": 39242,
                "CSS": 5297,
                "JavaScript": 2652,
                "TypeScript": 1272,
                "HTML": 406
            },
            "gh_api": "JonasunderscoreJones/jonasjones.dev",
            "version": "1.2.3",
            "backgroud": "/homepage.png",
            "links": {
                "GH": "https://github.com/JonasunderscoreJones/jonasjones.dev"
            },
            "visible": true,
            "last_update": 1723941271
        },
        {
            "title": "Jonas_Jones API",
            "description": "api used for my website",
            "status": "release",
            "statuscolor": "green",
            "categories": [
                "api",
                "tools"
            ],
            "languages" {
                "Rust": 73113
            },
            "gh_api": "JonasunderscoreJones/jonas_jones-api",
            "version": "0.4.1",
            "backgroud": "/jjapi.png",
            "links": {
                "GH": "https://github.com/JonasunderscoreJones/jonas_jones-api",
                "WB": "https://api.jonasjones.dev/v1/help"
            },
            "visible": true,
            "last_update": 1719693295
        }
    ],
    "count": 2
}
```
| Parameter   | Type               | Description                                                                                          |
| ----------- | ------------------ | ---------------------------------------------------------------------------------------------------- |
| title       | String             | The name of the project                                                                              |
| description | String             | The description of the project                                                                       |
| status      | String             | The status of the project                                                                            |
| statuscolor | String             | The color of the status                                                                              |
| categories  | [String]           | The categories of the project                                                                        |
| languages   | [String: String]   | The languages used in the project and the amount of code written in them                             |
| gh_api      | String             | The GitHub repository of the project                                                                 |
| version     | String             | The version of the project                                                                           |
| backgroud   | String             | The background image of the project                                                                  |
| links       | [String: String]   | The links of the project. These include GH (Github), WB (Website), MR (Modrinth) and CF (Curseforge) |
| visible     | Boolean            | Wether the project is visible on the projects site                                                   |
| last_update | Unix Timestamp     | The last time the project was updated                                                                |
| count       | Number             | The amount of projects returned                                                                      |
    </TabItem>
    <TabItem value="400" label="400">
```json
{
    "status": 400,
    "statusText": "Bad Request"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
    <TabItem value="500" label="500">
```json
{
    "status": 500,
    "statusText": "Internal Server Error"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
    <TabItem value="503" label="503">
```json
API is down
{
    "status": 503,
    "statusText": "Service Unavailable"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
</Tabs>
:::

## GET /v1/projects/filter/search
→ /v1/projects/filter/search?search=*<span style={{ color: "green" }}>search</span>*&limit=*<span style={{ color: "green" }}>limit</span>*&offset=*<span style={{ color: "green" }}>offset</span>*

Get all project entries where the provided <span style={{ color: "green" }}>search</span> string exists in a project entry's title or description.

| Parameter | Type                | Description                                                  | Example | Required | Default Value (if optional) |
| --------- | ------------------- | ------------------------------------------------------------ | ------- | -------- | --------------------------- |
| search    | String              | partial or full name of description (letter case irrelevant) | "the"   | Yes      | -                           |
| limit     | Number (0 ≤ n ≤ 50) | maximum amount of entries to select                          | 2       | Yes      | -                           |
| offset    | Number (*posirive*) | offset from *id* `0`                                         | 5       | Yes      | -                           |

:::tip[**Example** Response]
<Tabs>
    <TabItem value="200" label="200">
```json
{
    "results": [
        {
            "title": "Website",
            "description": "My website at https://jonasjones.dev",
            "status": "release",
            "statuscolor": "green",
            "categories": [
                "webdev",
                "website"
            ],
            "languages": {
                "Svelte": 39242,
                "CSS": 5297,
                "JavaScript": 2652,
                "TypeScript": 1272,
                "HTML": 406
            },
            "gh_api": "JonasunderscoreJones/jonasjones.dev",
            "version": "1.2.3",
            "backgroud": "/homepage.png",
            "links": {
                "GH": "https://github.com/JonasunderscoreJones/jonasjones.dev"
            },
            "visible": true,
            "last_update": 1723941271
        },
        {
            "title": "Jonas_Jones API",
            "description": "api used for my website",
            "status": "release",
            "statuscolor": "green",
            "categories": [
                "api",
                "tools"
            ],
            "languages" {
                "Rust": 73113
            },
            "gh_api": "JonasunderscoreJones/jonas_jones-api",
            "version": "0.4.1",
            "backgroud": "/jjapi.png",
            "links": {
                "GH": "https://github.com/JonasunderscoreJones/jonas_jones-api",
                "WB": "https://api.jonasjones.dev/v1/help"
            },
            "visible": true,
            "last_update": 1719693295
        }
    ],
    "count": 2
}
```
| Parameter   | Type               | Description                                                                                          |
| ----------- | ------------------ | ---------------------------------------------------------------------------------------------------- |
| title       | String             | The name of the project                                                                              |
| description | String             | The description of the project                                                                       |
| status      | String             | The status of the project                                                                            |
| statuscolor | String             | The color of the status                                                                              |
| categories  | [String]           | The categories of the project                                                                        |
| languages   | [String: String]   | The languages used in the project and the amount of code written in them                             |
| gh_api      | String             | The GitHub repository of the project                                                                 |
| version     | String             | The version of the project                                                                           |
| backgroud   | String             | The background image of the project                                                                  |
| links       | [String: String]   | The links of the project. These include GH (Github), WB (Website), MR (Modrinth) and CF (Curseforge) |
| visible     | Boolean            | Wether the project is visible on the projects site                                                   |
| last_update | Unix Timestamp     | The last time the project was updated                                                                |
| count       | Number             | The amount of projects returned                                                                      |
    </TabItem>
    <TabItem value="400" label="400">
```json
{
    "status": 400,
    "statusText": "Bad Request"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
    <TabItem value="500" label="500">
```json
{
    "status": 500,
    "statusText": "Internal Server Error"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
    <TabItem value="503" label="503">
```json
API is down
{
    "status": 503,
    "statusText": "Service Unavailable"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
</Tabs>
:::

## GET /v1/projects/filter/status
→ /v1/projects/filter/status?status=*<span style={{ color: "green" }}>status</span>*&limit=*<span style={{ color: "green" }}>limit</span>*&offset=*<span style={{ color: "green" }}>offset</span>*

Get all project entries where the provided <span style={{ color: "green" }}>status</span> string matches an entry's status. All entry statuses can be fetched using [GET /v1/projects/filter/getstatuses](#get-v1projectsfiltergetstatuses)

| Parameter | Type                | Description                                  | Example | Required | Default Value (if optional) |
| --------- | ------------------- | -------------------------------------------- | ------- | -------- | --------------------------- |
| status    | String              | full project status (letter case irrelevant) | "alpha" | Yes      | -                           |
| limit     | Number (0 ≤ n ≤ 50) | maximum amount of entries to select          | 2       | Yes      | -                           |
| offset    | Number (*posirive*) | offset from *id* `0`                         | 5       | Yes      | -                           |

:::tip[**Example** Response]
<Tabs>
    <TabItem value="200" label="200">
```json
{
    "results": [
        {
            "title": "Website",
            "description": "My website at https://jonasjones.dev",
            "status": "release",
            "statuscolor": "green",
            "categories": [
                "webdev",
                "website"
            ],
            "languages": {
                "Svelte": 39242,
                "CSS": 5297,
                "JavaScript": 2652,
                "TypeScript": 1272,
                "HTML": 406
            },
            "gh_api": "JonasunderscoreJones/jonasjones.dev",
            "version": "1.2.3",
            "backgroud": "/homepage.png",
            "links": {
                "GH": "https://github.com/JonasunderscoreJones/jonasjones.dev"
            },
            "visible": true,
            "last_update": 1723941271
        },
        {
            "title": "Jonas_Jones API",
            "description": "api used for my website",
            "status": "release",
            "statuscolor": "green",
            "categories": [
                "api",
                "tools"
            ],
            "languages" {
                "Rust": 73113
            },
            "gh_api": "JonasunderscoreJones/jonas_jones-api",
            "version": "0.4.1",
            "backgroud": "/jjapi.png",
            "links": {
                "GH": "https://github.com/JonasunderscoreJones/jonas_jones-api",
                "WB": "https://api.jonasjones.dev/v1/help"
            },
            "visible": true,
            "last_update": 1719693295
        }
    ],
    "count": 2
}
```
| Parameter   | Type               | Description                                                                                          |
| ----------- | ------------------ | ---------------------------------------------------------------------------------------------------- |
| title       | String             | The name of the project                                                                              |
| description | String             | The description of the project                                                                       |
| status      | String             | The status of the project                                                                            |
| statuscolor | String             | The color of the status                                                                              |
| categories  | [String]           | The categories of the project                                                                        |
| languages   | [String: String]   | The languages used in the project and the amount of code written in them                             |
| gh_api      | String             | The GitHub repository of the project                                                                 |
| version     | String             | The version of the project                                                                           |
| backgroud   | String             | The background image of the project                                                                  |
| links       | [String: String]   | The links of the project. These include GH (Github), WB (Website), MR (Modrinth) and CF (Curseforge) |
| visible     | Boolean            | Wether the project is visible on the projects site                                                   |
| last_update | Unix Timestamp     | The last time the project was updated                                                                |
| count       | Number             | The amount of projects returned                                                                      |
    </TabItem>
    <TabItem value="400" label="400">
```json
{
    "status": 400,
    "statusText": "Bad Request"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
    <TabItem value="500" label="500">
```json
{
    "status": 500,
    "statusText": "Internal Server Error"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
    <TabItem value="503" label="503">
```json
API is down
{
    "status": 503,
    "statusText": "Service Unavailable"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
</Tabs>
:::

## GET /v1/projects/filter/statuscolor
→ /v1/projects/filter/statuscolor?statuscolor=*<span style={{ color: "green" }}>statuscolor</span>*&limit=*<span style={{ color: "green" }}>limit</span>*&offset=*<span style={{ color: "green" }}>offset</span>*

Get all project entries where the provided <span style={{ color: "green" }}>statuscolor</span> string matches an entry's statuscolor. All entry statuscolors can be fetched using [GET /v1/projects/filter/getcolors](#get-v1projectsfiltergetcolors)

| Parameter   | Type                | Description                                       | Example | Required | Default Value (if optional) |
| ----------- | ------------------- | ------------------------------------------------- | ------- | -------- | --------------------------- |
| statuscolor | String              | full project statuscolor (letter case irrelevant) | "green" | Yes      | -                           |
| limit       | Number (0 ≤ n ≤ 50) | maximum amount of entries to select               | 2       | Yes      | -                           |
| offset      | Number (*posirive*) | offset from *id* `0`                              | 5       | Yes      | -                           |

:::tip[**Example** Response]
<Tabs>
    <TabItem value="200" label="200">
```json
{
    "results": [
        {
            "title": "Website",
            "description": "My website at https://jonasjones.dev",
            "status": "release",
            "statuscolor": "green",
            "categories": [
                "webdev",
                "website"
            ],
            "languages": {
                "Svelte": 39242,
                "CSS": 5297,
                "JavaScript": 2652,
                "TypeScript": 1272,
                "HTML": 406
            },
            "gh_api": "JonasunderscoreJones/jonasjones.dev",
            "version": "1.2.3",
            "backgroud": "/homepage.png",
            "links": {
                "GH": "https://github.com/JonasunderscoreJones/jonasjones.dev"
            },
            "visible": true,
            "last_update": 1723941271
        },
        {
            "title": "Jonas_Jones API",
            "description": "api used for my website",
            "status": "release",
            "statuscolor": "green",
            "categories": [
                "api",
                "tools"
            ],
            "languages" {
                "Rust": 73113
            },
            "gh_api": "JonasunderscoreJones/jonas_jones-api",
            "version": "0.4.1",
            "backgroud": "/jjapi.png",
            "links": {
                "GH": "https://github.com/JonasunderscoreJones/jonas_jones-api",
                "WB": "https://api.jonasjones.dev/v1/help"
            },
            "visible": true,
            "last_update": 1719693295
        }
    ],
    "count": 2
}
```
| Parameter   | Type               | Description                                                                                          |
| ----------- | ------------------ | ---------------------------------------------------------------------------------------------------- |
| title       | String             | The name of the project                                                                              |
| description | String             | The description of the project                                                                       |
| status      | String             | The status of the project                                                                            |
| statuscolor | String             | The color of the status                                                                              |
| categories  | [String]           | The categories of the project                                                                        |
| languages   | [String: String]   | The languages used in the project and the amount of code written in them                             |
| gh_api      | String             | The GitHub repository of the project                                                                 |
| version     | String             | The version of the project                                                                           |
| backgroud   | String             | The background image of the project                                                                  |
| links       | [String: String]   | The links of the project. These include GH (Github), WB (Website), MR (Modrinth) and CF (Curseforge) |
| visible     | Boolean            | Wether the project is visible on the projects site                                                   |
| last_update | Unix Timestamp     | The last time the project was updated                                                                |
| count       | Number             | The amount of projects returned                                                                      |
    </TabItem>
    <TabItem value="400" label="400">
```json
{
    "status": 400,
    "statusText": "Bad Request"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
    <TabItem value="500" label="500">
```json
{
    "status": 500,
    "statusText": "Internal Server Error"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
    <TabItem value="503" label="503">
```json
API is down
{
    "status": 503,
    "statusText": "Service Unavailable"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
</Tabs>
:::

## GET /v1/projects/filter/category
→ /v1/projects/filter/category?category=*<span style={{ color: "green" }}>category</span>*&limit=*<span style={{ color: "green" }}>limit</span>*&offset=*<span style={{ color: "green" }}>offset</span>*

Get all project entries where the provided <span style={{ color: "green" }}>category</span> string matches an entry's category. All entry categories can be fetched using [GET /v1/projects/filter/getcategories](#get-v1projectsfiltergetcategories)

| Parameter | Type                | Description                                      | Example  | Required | Default Value (if optional) |
| --------- | ------------------- | ------------------------------------------------ | -------- | -------- | --------------------------- |
| category  | String              | full project category (letter case **RELEVANT**) | "webdev" | Yes      | -                           |
| limit     | Number (0 ≤ n ≤ 50) | maximum amount of entries to select              | 2        | Yes      | -                           |
| offset    | Number (*posirive*) | offset from *id* `0`                             | 5        | Yes      | -                           |

:::tip[**Example** Response]
<Tabs>
    <TabItem value="200" label="200">
```json
{
    "results": [
        {
            "title": "Website",
            "description": "My website at https://jonasjones.dev",
            "status": "release",
            "statuscolor": "green",
            "categories": [
                "webdev",
                "website"
            ],
            "languages": {
                "Svelte": 39242,
                "CSS": 5297,
                "JavaScript": 2652,
                "TypeScript": 1272,
                "HTML": 406
            },
            "gh_api": "JonasunderscoreJones/jonasjones.dev",
            "version": "1.2.3",
            "backgroud": "/homepage.png",
            "links": {
                "GH": "https://github.com/JonasunderscoreJones/jonasjones.dev"
            },
            "visible": true,
            "last_update": 1723941271
        },
        {
            "title": "Jonas_Jones API",
            "description": "api used for my website",
            "status": "release",
            "statuscolor": "green",
            "categories": [
                "api",
                "tools"
            ],
            "languages" {
                "Rust": 73113
            },
            "gh_api": "JonasunderscoreJones/jonas_jones-api",
            "version": "0.4.1",
            "backgroud": "/jjapi.png",
            "links": {
                "GH": "https://github.com/JonasunderscoreJones/jonas_jones-api",
                "WB": "https://api.jonasjones.dev/v1/help"
            },
            "visible": true,
            "last_update": 1719693295
        }
    ],
    "count": 2
}
```
| Parameter   | Type               | Description                                                                                          |
| ----------- | ------------------ | ---------------------------------------------------------------------------------------------------- |
| title       | String             | The name of the project                                                                              |
| description | String             | The description of the project                                                                       |
| status      | String             | The status of the project                                                                            |
| statuscolor | String             | The color of the status                                                                              |
| categories  | [String]           | The categories of the project                                                                        |
| languages   | [String: String]   | The languages used in the project and the amount of code written in them                             |
| gh_api      | String             | The GitHub repository of the project                                                                 |
| version     | String             | The version of the project                                                                           |
| backgroud   | String             | The background image of the project                                                                  |
| links       | [String: String]   | The links of the project. These include GH (Github), WB (Website), MR (Modrinth) and CF (Curseforge) |
| visible     | Boolean            | Wether the project is visible on the projects site                                                   |
| last_update | Unix Timestamp     | The last time the project was updated                                                                |
| count       | Number             | The amount of projects returned                                                                      |
    </TabItem>
    <TabItem value="400" label="400">
```json
{
    "status": 400,
    "statusText": "Bad Request"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
    <TabItem value="500" label="500">
```json
{
    "status": 500,
    "statusText": "Internal Server Error"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
    <TabItem value="503" label="503">
```json
API is down
{
    "status": 503,
    "statusText": "Service Unavailable"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
</Tabs>
:::

## GET /v1/projects/filter/language
→ /v1/projects/filter/language?language=*<span style={{ color: "green" }}>language</span>*&limit=*<span style={{ color: "green" }}>limit</span>*&offset=*<span style={{ color: "green" }}>offset</span>*

Get all project entries where the provided <span style={{ color: "green" }}>language</span> string matches an entry's language. All entry languages can be fetched using [GET /v1/projects/filter/getlangs](#get-v1projectsfiltergetlangs)

| Parameter | Type                | Description                                      | Example | Required | Default Value (if optional) |
| --------- | ------------------- | ------------------------------------------------ | ------- | -------- | --------------------------- |
| language  | String              | full project language (letter case **RELEVANT**) | "Java"  | Yes      | -                           |
| limit     | Number (0 ≤ n ≤ 50) | maximum amount of entries to select              | 2       | Yes      | -                           |
| offset    | Number (*posirive*) | offset from *id* `0`                             | 5       | Yes      | -                           |

:::tip[**Example** Response]
<Tabs>
    <TabItem value="200" label="200">
```json
{
    "results": [
        {
            "title": "Website",
            "description": "My website at https://jonasjones.dev",
            "status": "release",
            "statuscolor": "green",
            "categories": [
                "webdev",
                "website"
            ],
            "languages": {
                "Svelte": 39242,
                "CSS": 5297,
                "JavaScript": 2652,
                "TypeScript": 1272,
                "HTML": 406
            },
            "gh_api": "JonasunderscoreJones/jonasjones.dev",
            "version": "1.2.3",
            "backgroud": "/homepage.png",
            "links": {
                "GH": "https://github.com/JonasunderscoreJones/jonasjones.dev"
            },
            "visible": true,
            "last_update": 1723941271
        },
        {
            "title": "Jonas_Jones API",
            "description": "api used for my website",
            "status": "release",
            "statuscolor": "green",
            "categories": [
                "api",
                "tools"
            ],
            "languages" {
                "Rust": 73113
            },
            "gh_api": "JonasunderscoreJones/jonas_jones-api",
            "version": "0.4.1",
            "backgroud": "/jjapi.png",
            "links": {
                "GH": "https://github.com/JonasunderscoreJones/jonas_jones-api",
                "WB": "https://api.jonasjones.dev/v1/help"
            },
            "visible": true,
            "last_update": 1719693295
        }
    ],
    "count": 2
}
```
| Parameter   | Type               | Description                                                                                          |
| ----------- | ------------------ | ---------------------------------------------------------------------------------------------------- |
| title       | String             | The name of the project                                                                              |
| description | String             | The description of the project                                                                       |
| status      | String             | The status of the project                                                                            |
| statuscolor | String             | The color of the status                                                                              |
| categories  | [String]           | The categories of the project                                                                        |
| languages   | [String: String]   | The languages used in the project and the amount of code written in them                             |
| gh_api      | String             | The GitHub repository of the project                                                                 |
| version     | String             | The version of the project                                                                           |
| backgroud   | String             | The background image of the project                                                                  |
| links       | [String: String]   | The links of the project. These include GH (Github), WB (Website), MR (Modrinth) and CF (Curseforge) |
| visible     | Boolean            | Wether the project is visible on the projects site                                                   |
| last_update | Unix Timestamp     | The last time the project was updated                                                                |
| count       | Number             | The amount of projects returned                                                                      |
    </TabItem>
    <TabItem value="400" label="400">
```json
{
    "status": 400,
    "statusText": "Bad Request"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
    <TabItem value="500" label="500">
```json
{
    "status": 500,
    "statusText": "Internal Server Error"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
    <TabItem value="503" label="503">
```json
API is down
{
    "status": 503,
    "statusText": "Service Unavailable"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
</Tabs>
:::

## GET /v1/projects/filter/getstatuses

Get a list of the different statuses of all project entries

:::tip[**Example** Response]
<Tabs>
    <TabItem value="200" label="200">
```json
{
    "results": [
        "alpha",
        "beta",
        "release",
        "..."
    ],
    "total_results": 127
}
```
| Parameter     | Type     | Description                            |
| ------------- | -------- | -------------------------------------- |
| results       | [String] | The different statuses of the projects |
| total_results | Number   | The amount of different statuses       |
    </TabItem>
    <TabItem value="500" label="500">
```json
{
    "status": 500,
    "statusText": "Internal Server Error"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
    <TabItem value="503" label="503">
```json
API is down
{
    "status": 503,
    "statusText": "Service Unavailable"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
</Tabs>
:::

## GET /v1/projects/filter/getcolors

Get a list of the different status colors of all project entries

:::tip[**Example** Response]
<Tabs>
    <TabItem value="200" label="200">
```json
{
    "results": [
        "red",
        "orange",
        "green",
        "..."
    ],
    "total_results": 127
}
```
| Parameter     | Type     | Description                                 |
| ------------- | -------- | ------------------------------------------- |
| results       | [String] | The different status colors of the projects |
| total_results | Number   | The amount of different status colors       |
    </TabItem>
    <TabItem value="500" label="500">
```json
{
    "status": 500,
    "statusText": "Internal Server Error"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
    <TabItem value="503" label="503">
```json
API is down
{
    "status": 503,
    "statusText": "Service Unavailable"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
</Tabs>
:::

## GET /v1/projects/filter/getcategories

Get a list of the different categories of all project entries

:::tip[**Example** Response]
<Tabs>
    <TabItem value="200" label="200">
```json
{
    "results": [
        "tool",
        "mcmodding",
        "minecraft",
        "..."
    ],
    "total_results": 127
}
```
| Parameter     | Type     | Description                              |
| ------------- | -------- | ---------------------------------------- |
| results       | [String] | The different categories of the projects |
| total_results | Number   | The amount of different categories       |
    </TabItem>
    <TabItem value="500" label="500">
```json
{
    "status": 500,
    "statusText": "Internal Server Error"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
    <TabItem value="503" label="503">
```json
API is down
{
    "status": 503,
    "statusText": "Service Unavailable"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
</Tabs>
:::

## GET /v1/projects/filter/getlangs

Get a list of the different languages of all project entries

:::tip[**Example** Response]
<Tabs>
    <TabItem value="200" label="200">
```json
{
    "results": [
        "Svelte",
        "Java",
        "CSS",
        "..."
    ],
    "total_results": 127
}
```
| Parameter     | Type     | Description                             |
| ------------- | -------- | --------------------------------------- |
| results       | [String] | The different languages of the projects |
| total_results | Number   | The amount of different languages       |
    </TabItem>
    <TabItem value="500" label="500">
```json
{
    "status": 500,
    "statusText": "Internal Server Error"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
    <TabItem value="503" label="503">
```json
API is down
{
    "status": 503,
    "statusText": "Service Unavailable"
}
```
| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| status     | Number | The status code of the error |
| statusText | String | The status text of the error |
    </TabItem>
</Tabs>
:::
