GET /bans

This will index a paginated list of 25 bans. The response will include pagination data to make your life 300 times easier.

Bans will come back with the record itself along with the user and admin models if they're registered to the suite. The record will also come back with attempts_count which is a relationship between the ban and the attempts on the ban.

Request Payload: GET https://freya.test/api/v1/bans/

Response: 200 OK

{
  "data": [
    {
      "id": 2,
      "nickname": "drizzy.vip - crident",
      "steam_id": "76561198013448859",
      "admin_steam_id": "76561198074425791",
      "reason": "keeps selling gmod servers",
      "global": false,
      "server_ip": "127.0.0.1",
      "server_port": 25565,
      "admin_notes": null,
      "banned_on": "2020-08-09T03:28:09.000000Z",
      "expires_on": "2021-12-16T01:40:23.000000Z",
      "unbanned_admin_steam_id": null,
      "unbanned_reason": null,
      "attributes": null,
      "deleted_at": null,
      "created_at": "2020-08-09T03:28:09.000000Z",
      "updated_at": "2020-08-09T03:28:09.000000Z",
      "attempts_count": 0,
      "user": {
        "id": 4,
        "username": "drizmans",
        "avatar": "avatar_a696cdbfe652a276df15f383daff73e9.jpg",
        "user_group": 1,
        "steam_id_64": "76561198013448859",
        "external_id": null,
        "banned": 0,
        "ban_reason": null,
        "banned_by": null,
        "attributes": null,
        "created_at": "2020-08-09T03:29:34.000000Z",
        "updated_at": "2020-08-09T03:29:34.000000Z"
      },
      "admin": {
        "id": 1,
        "username": "Lunaversity - crident",
        "avatar": "avatar_25ac6b969d0e1afd2af8ca69e3174d4b.jpg",
        "user_group": 1,
        "steam_id_64": "76561198074425791",
        "external_id": null,
        "banned": 0,
        "ban_reason": null,
        "banned_by": null,
        "attributes": null,
        "created_at": null,
        "updated_at": "2020-08-09T03:02:56.000000Z"
      }
    },
    {
      "id": 1,
      "nickname": "Altyrian",
      "steam_id": "76561198056377032",
      "admin_steam_id": "76561198086308733",
      "reason": "Extended for continuing to failrp irl",
      "global": true,
      "server_ip": "127.0.0.1",
      "server_port": 25565,
      "admin_notes": "if this dood keeps being monkey perma ban his ass",
      "banned_on": "2020-08-09T03:19:41.000000Z",
      "expires_on": "2020-08-16T00:00:00.000000Z",
      "unbanned_admin_steam_id": null,
      "unbanned_reason": null,
      "attributes": null,
      "deleted_at": null,
      "created_at": "2020-08-09T03:19:41.000000Z",
      "updated_at": "2020-08-09T03:26:25.000000Z",
      "attempts_count": 0,
      "user": {
        "id": 3,
        "username": "chip mungus",
        "avatar": "avatar_e867a640fc6347e83c0971f35bb87ce4.jpg",
        "user_group": 1,
        "steam_id_64": "76561198056377032",
        "external_id": null,
        "banned": 0,
        "ban_reason": null,
        "banned_by": null,
        "attributes": null,
        "created_at": "2020-08-09T03:23:27.000000Z",
        "updated_at": "2020-08-09T03:23:27.000000Z"
      },
      "admin": {
        "id": 2,
        "username": "Desert",
        "avatar": "avatar_5b4e2e1bce4e02617a040d2044523ab3.jpg",
        "user_group": 1,
        "steam_id_64": "76561198086308733",
        "external_id": null,
        "banned": 0,
        "ban_reason": null,
        "banned_by": null,
        "attributes": null,
        "created_at": "2020-08-09T03:23:19.000000Z",
        "updated_at": "2020-08-09T03:23:19.000000Z"
      }
    }
  ],
  "links": {
    "first": "http:\/\/freya.test\/api\/v1\/bans?page=1",
    "last": "http:\/\/freya.test\/api\/v1\/bans?page=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "path": "http:\/\/freya.test\/api\/v1\/bans",
    "per_page": 25,
    "to": 2,
    "total": 2
  }
}

Bans with the expires_on value being null are considered permanent bans.


GET /ban/{id}

You can retrieve information from a specific ban by querying its ID if you so choose. However I really recommend using the GET Find Bans route as it's able to do complex searching for precise results.

Request Payload: GET http://freya.test/api/v1/bans/1

Response:

{
  "data": {
    "id": 1,
    "nickname": "Altyrian",
    "steam_id": "76561198056377032",
    "admin_steam_id": "76561198086308733",
    "reason": "Extended for continuing to failrp irl",
    "global": true,
    "server_ip": "127.0.0.1",
    "server_port": 25565,
    "admin_notes": "if this dood keeps being monkey perma ban his ass",
    "banned_on": "2020-08-09T03:19:41.000000Z",
    "expires_on": "2020-08-16T00:00:00.000000Z",
    "unbanned_admin_steam_id": null,
    "unbanned_reason": null,
    "attributes": null,
    "deleted_at": null,
    "created_at": "2020-08-09T03:19:41.000000Z",
    "updated_at": "2020-08-09T03:26:25.000000Z",
    "attempts_count": 7,
    "user": {
      "id": 3,
      "username": "chip mungus",
      "avatar": "avatar_e867a640fc6347e83c0971f35bb87ce4.jpg",
      "user_group": 1,
      "steam_id_64": "76561198056377032",
      "external_id": null,
      "banned": 0,
      "ban_reason": null,
      "banned_by": null,
      "attributes": null,
      "created_at": "2020-08-09T03:23:27.000000Z",
      "updated_at": "2020-08-09T03:23:27.000000Z"
    },
    "admin": {
      "id": 2,
      "username": "Desert",
      "avatar": "avatar_5b4e2e1bce4e02617a040d2044523ab3.jpg",
      "user_group": 1,
      "steam_id_64": "76561198086308733",
      "external_id": null,
      "banned": 0,
      "ban_reason": null,
      "banned_by": null,
      "attributes": null,
      "created_at": "2020-08-09T03:23:19.000000Z",
      "updated_at": "2020-08-09T03:23:19.000000Z"
    }
  }
}

GET /ban/{id}/attempts

You can retrieve a paginated collection of attempts on a specific ban.

Request Payload: GET http://freya.test/api/v1/bans/attempts/1

Response: 200 OK

{
  "data": [
    {
      "id": 7,
      "ban_id": 1,
      "steam_id": "76561198056377032",
      "ip": "69.240.201.21",
      "created_at": "2020-08-09T03:41:57.000000Z",
      "updated_at": "2020-08-09T03:41:57.000000Z"
    },
    {
      "id": 5,
      "ban_id": 1,
      "steam_id": "76561198056377032",
      "ip": "69.240.201.21",
      "created_at": "2020-08-09T03:41:56.000000Z",
      "updated_at": "2020-08-09T03:41:56.000000Z"
    },
    {
      "id": 6,
      "ban_id": 1,
      "steam_id": "76561198056377032",
      "ip": "69.240.201.21",
      "created_at": "2020-08-09T03:41:56.000000Z",
      "updated_at": "2020-08-09T03:41:56.000000Z"
    },
    {
      "id": 4,
      "ban_id": 1,
      "steam_id": "76561198056377032",
      "ip": "69.240.201.21",
      "created_at": "2020-08-09T03:41:55.000000Z",
      "updated_at": "2020-08-09T03:41:55.000000Z"
    },
    {
      "id": 2,
      "ban_id": 1,
      "steam_id": "76561198056377032",
      "ip": "69.240.201.21",
      "created_at": "2020-08-09T03:41:54.000000Z",
      "updated_at": "2020-08-09T03:41:54.000000Z"
    },
    {
      "id": 3,
      "ban_id": 1,
      "steam_id": "76561198056377032",
      "ip": "69.240.201.21",
      "created_at": "2020-08-09T03:41:54.000000Z",
      "updated_at": "2020-08-09T03:41:54.000000Z"
    },
    {
      "id": 1,
      "ban_id": 1,
      "steam_id": "76561198056377032",
      "ip": "69.240.201.21",
      "created_at": "2020-08-09T03:41:52.000000Z",
      "updated_at": "2020-08-09T03:41:52.000000Z"
    }
  ],
  "links": {
    "first": "http:\/\/freya.test\/api\/v1\/bans\/1\/attempts?page=1",
    "last": "http:\/\/freya.test\/api\/v1\/bans\/1\/attempts?page=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "path": "http:\/\/freya.test\/api\/v1\/bans\/1\/attempts",
    "per_page": 25,
    "to": 7,
    "total": 7
  }
}

POST /bans/find

You may have noticed this search route is a POST and not a GET route. That is because it can take in a complex amount of data, and due to URL limitations it was better to use a Payload rather than a URL.

Name Type Required Description
steam_ids string Can search multiple SteamIDs, use a comma , to split SteamIDs. Only accepts SteamID 64s.
server_ip string The IP of the server the user was banned on.
server_port int The port of the server the user was banned on.
active bool Shows only active bans if set to true.
global bool Shows global bans only if set to true.
limit int Limit the amount of responses.

Request Payload: POST https://freya.test/api/v1/bans/find

{
    "steam_ids": "76561198013448859,76561198056377032"
}

Response: 200 OK

{
  "data": [
    {
      "id": 1,
      "nickname": "Altyrian",
      "steam_id": "76561198056377032",
      "admin_steam_id": "76561198086308733",
      "reason": "Extended for continuing to failrp irl",
      "global": true,
      "server_ip": "127.0.0.1",
      "server_port": 25565,
      "admin_notes": "if this dood keeps being monkey perma ban his ass",
      "banned_on": "2020-08-09T03:19:41.000000Z",
      "expires_on": "2020-08-16T00:00:00.000000Z",
      "unbanned_admin_steam_id": null,
      "unbanned_reason": null,
      "attributes": null,
      "deleted_at": null,
      "created_at": "2020-08-09T03:19:41.000000Z",
      "updated_at": "2020-08-09T03:26:25.000000Z",
      "attempts_count": 7,
      "user": {
        "id": 3,
        "username": "Altyrian",
        "avatar": "avatar_b691ecb44aeb559f82fd8d2eebab5260.jpg",
        "user_group": 1,
        "steam_id_64": "76561198056377032",
        "external_id": null,
        "banned": 0,
        "ban_reason": null,
        "banned_by": null,
        "attributes": null,
        "created_at": "2020-08-09T03:23:27.000000Z",
        "updated_at": "2020-08-20T22:14:22.000000Z"
      },
      "admin": {
        "id": 2,
        "username": "Desert",
        "avatar": "avatar_d10fca727bc516669e74aad68a7ab775.jpg",
        "user_group": 1,
        "steam_id_64": "76561198086308733",
        "external_id": null,
        "banned": 0,
        "ban_reason": null,
        "banned_by": null,
        "attributes": null,
        "created_at": "2020-08-09T03:23:19.000000Z",
        "updated_at": "2020-08-21T17:02:55.000000Z"
      }
    },
    {
      "id": 2,
      "nickname": "drizzy.vip - crident",
      "steam_id": "76561198013448859",
      "admin_steam_id": "76561198074425791",
      "reason": "keeps selling gmod servers",
      "global": false,
      "server_ip": "127.0.0.1",
      "server_port": 25565,
      "admin_notes": null,
      "banned_on": "2020-08-09T03:28:09.000000Z",
      "expires_on": "2021-12-16T01:40:23.000000Z",
      "unbanned_admin_steam_id": null,
      "unbanned_reason": null,
      "attributes": null,
      "deleted_at": null,
      "created_at": "2020-08-09T03:28:09.000000Z",
      "updated_at": "2020-08-09T03:28:09.000000Z",
      "attempts_count": 5,
      "user": {
        "id": 4,
        "username": "drizmans",
        "avatar": "avatar_52da7fd549ac9845c0c70dfc32f54391.jpg",
        "user_group": 1,
        "steam_id_64": "76561198013448859",
        "external_id": null,
        "banned": 0,
        "ban_reason": null,
        "banned_by": null,
        "attributes": null,
        "created_at": "2020-08-09T03:29:34.000000Z",
        "updated_at": "2020-08-20T21:58:20.000000Z"
      },
      "admin": {
        "id": 1,
        "username": "Lunaversity - crident",
        "avatar": "avatar_8adb25eda8a29a6cf04abfcbd56c3806.jpg",
        "user_group": 1,
        "steam_id_64": "76561198074425791",
        "external_id": null,
        "banned": 0,
        "ban_reason": null,
        "banned_by": null,
        "attributes": null,
        "created_at": null,
        "updated_at": "2020-08-15T22:57:15.000000Z"
      }
    },
    {
      "id": 3,
      "nickname": "Altyrian",
      "steam_id": "76561198056377032",
      "admin_steam_id": null,
      "reason": "how much times we gotta teach you this lesson old man",
      "global": false,
      "server_ip": "127.0.0.1",
      "server_port": 25565,
      "admin_notes": null,
      "banned_on": "2020-08-20T22:11:45.000000Z",
      "expires_on": "2020-08-25T22:11:45.000000Z",
      "unbanned_admin_steam_id": null,
      "unbanned_reason": null,
      "attributes": null,
      "deleted_at": null,
      "created_at": "2020-08-20T22:11:45.000000Z",
      "updated_at": "2020-08-20T22:11:45.000000Z",
      "attempts_count": 0,
      "user": {
        "id": 3,
        "username": "Altyrian",
        "avatar": "avatar_b691ecb44aeb559f82fd8d2eebab5260.jpg",
        "user_group": 1,
        "steam_id_64": "76561198056377032",
        "external_id": null,
        "banned": 0,
        "ban_reason": null,
        "banned_by": null,
        "attributes": null,
        "created_at": "2020-08-09T03:23:27.000000Z",
        "updated_at": "2020-08-20T22:14:22.000000Z"
      },
      "admin": null
    },
    {
      "id": 4,
      "nickname": "drizzy",
      "steam_id": "76561198013448859",
      "admin_steam_id": null,
      "reason": "beep beep boop",
      "global": true,
      "server_ip": "127.0.0.1",
      "server_port": 25565,
      "admin_notes": null,
      "banned_on": "2020-08-20T22:12:37.000000Z",
      "expires_on": "2020-09-03T22:12:37.000000Z",
      "unbanned_admin_steam_id": null,
      "unbanned_reason": null,
      "attributes": null,
      "deleted_at": null,
      "created_at": "2020-08-20T22:12:37.000000Z",
      "updated_at": "2020-08-20T22:12:37.000000Z",
      "attempts_count": 0,
      "user": {
        "id": 4,
        "username": "drizmans",
        "avatar": "avatar_52da7fd549ac9845c0c70dfc32f54391.jpg",
        "user_group": 1,
        "steam_id_64": "76561198013448859",
        "external_id": null,
        "banned": 0,
        "ban_reason": null,
        "banned_by": null,
        "attributes": null,
        "created_at": "2020-08-09T03:29:34.000000Z",
        "updated_at": "2020-08-20T21:58:20.000000Z"
      },
      "admin": null
    },
    {
      "id": 5,
      "nickname": "drizzy.vip",
      "steam_id": "76561198013448859",
      "admin_steam_id": "76561198074425791",
      "reason": "waefawefaw",
      "global": true,
      "server_ip": "127.0.0.1",
      "server_port": 25565,
      "admin_notes": null,
      "banned_on": "2020-08-20T22:13:42.000000Z",
      "expires_on": "2021-08-20T22:13:42.000000Z",
      "unbanned_admin_steam_id": null,
      "unbanned_reason": null,
      "attributes": null,
      "deleted_at": null,
      "created_at": "2020-08-20T22:13:42.000000Z",
      "updated_at": "2020-08-20T22:13:42.000000Z",
      "attempts_count": 0,
      "user": {
        "id": 4,
        "username": "drizmans",
        "avatar": "avatar_52da7fd549ac9845c0c70dfc32f54391.jpg",
        "user_group": 1,
        "steam_id_64": "76561198013448859",
        "external_id": null,
        "banned": 0,
        "ban_reason": null,
        "banned_by": null,
        "attributes": null,
        "created_at": "2020-08-09T03:29:34.000000Z",
        "updated_at": "2020-08-20T21:58:20.000000Z"
      },
      "admin": {
        "id": 1,
        "username": "Lunaversity - crident",
        "avatar": "avatar_8adb25eda8a29a6cf04abfcbd56c3806.jpg",
        "user_group": 1,
        "steam_id_64": "76561198074425791",
        "external_id": null,
        "banned": 0,
        "ban_reason": null,
        "banned_by": null,
        "attributes": null,
        "created_at": null,
        "updated_at": "2020-08-15T22:57:15.000000Z"
      }
    }
  ],
  "links": {
    "first": "http:\/\/freya.test\/api\/v1\/bans\/find?page=1",
    "last": "http:\/\/freya.test\/api\/v1\/bans\/find?page=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "path": "http:\/\/freya.test\/api\/v1\/bans\/find",
    "per_page": 15,
    "to": 5,
    "total": 5
  }
}

POST /bans/create

You can create a ban record with this route, it doesn't have to be an active ban it can also be an inactive ban.

Name Type Required Description
nickname string The nickname the user was banned on.
steam_id string The users' SteamID
admin_steam_id string The admins' SteamID (if null will be considered Console)
reason string The reason for the banning
duration string The duration of the ban. If duration is 0 OR null ban will be considered permanent. If duration is -1 ban will be considered unbanned.
global bool Determines if the ban should be globally enforced on all servers.
server_ip string The IP address of the server the user was banned on.
server_port int The port of the server the user was banned on.
banned_on string What time the ban was initiated on, if null ban will be considered to be initiated when created.
unbanned_admin_steam_id string The SteamID of the admin who unbanned the user.
unbanned_reason string The reason for the unban.
admin_notes string Admin notes about the ban that admins can only see.
attributes array Extra attributes for external modding purposes.

Valid Dates

You can pretty much use any datetime/timestamp. Just note if you're using UNIX TIMESTAMP you make the input an int and NOT a string. It uses the Carbon::parse() method.

Request Payload: POST https://freya.test/api/v1/bans/create

{
    "nickname": "Altyrian",
    "steam_id": "76561198056377032",
    "admin_steam_id": "76561198086308733",
    "reason": "failrp stop doing peoples moms as hobo",
    "duration": 1597190400,
    "global": true,
    "server_ip": "127.0.0.1",
    "server_port": "25565"
}

Response: 201 Created

{
  "data": {
    "nickname": "Altyrian",
    "steam_id": "76561198056377032",
    "admin_steam_id": "76561198086308733",
    "reason": "failrp stop doing peoples moms as hobo",
    "global": true,
    "server_ip": "127.0.0.1",
    "server_port": "25565",
    "banned_on": "2020-08-09T03:19:41.000000Z",
    "expires_on": "2020-08-12T00:00:00.000000Z",
    "unbanned_admin_steam_id": null,
    "unbanned_reason": null,
    "admin_notes": null,
    "attributes": null,
    "updated_at": "2020-08-09T03:19:41.000000Z",
    "created_at": "2020-08-09T03:19:41.000000Z",
    "id": 1
  }
}

PUT /bans/{id}/update

Updates a specific ban by its ID. Fields not used will be returned to their original value. However if you return something like null or an empty value it will turn the value into null.

Name Type Required Description
nickname string The nickname the user was banned on.
steam_id string The users' SteamID
admin_steam_id string The admins' SteamID (if null will be considered Console)
reason string The reason for the banning
duration string The duration of the ban. If duration is 0 OR null ban will be considered permanent. If duration is -1 ban will be considered unbanned.
global bool Determines if the ban should be globally enforced on all servers.
server_ip string The IP address of the server the user was banned on.
server_port int The port of the server the user was banned on.
banned_on datetime What time the ban was initiated on, if null ban will be considered to be initiated when created.
unbanned_admin_steam_id string The SteamID of the admin who unbanned the user.
unbanned_reason string The reason for the unban.
admin_notes string Admin notes about the ban that admins can only see.
attributes array Extra attributes for external modding purposes.

Request Payload: PUT https://freya.test/api/v1/bans/1/update

{
    "reason": "Extended for continuing to failrp irl",
    "duration": 1597536000,
    "admin_notes": "if this dood keeps being monkey perma ban his ass"
}

Response:

{
  "data": {
    "id": 1,
    "nickname": "Altyrian",
    "steam_id": "76561198056377032",
    "admin_steam_id": "76561198086308733",
    "reason": "Extended for continuing to failrp irl",
    "global": true,
    "server_ip": "127.0.0.1",
    "server_port": 25565,
    "admin_notes": "if this dood keeps being monkey perma ban his ass",
    "banned_on": "2020-08-09T03:19:41.000000Z",
    "expires_on": "2020-08-16T00:00:00.000000Z",
    "unbanned_admin_steam_id": null,
    "unbanned_reason": null,
    "attributes": null,
    "deleted_at": null,
    "created_at": "2020-08-09T03:19:41.000000Z",
    "updated_at": "2020-08-09T03:22:54.000000Z",
    "attempts_count": 0,
    "user": {
      "id": 3,
      "username": "chip mungus",
      "avatar": "avatar_e867a640fc6347e83c0971f35bb87ce4.jpg",
      "user_group": 1,
      "steam_id_64": "76561198056377032",
      "external_id": null,
      "banned": 0,
      "ban_reason": null,
      "banned_by": null,
      "attributes": null,
      "created_at": "2020-08-09T03:23:27.000000Z",
      "updated_at": "2020-08-09T03:23:27.000000Z"
    },
    "admin": {
      "id": 2,
      "username": "Desert",
      "avatar": "avatar_5b4e2e1bce4e02617a040d2044523ab3.jpg",
      "user_group": 1,
      "steam_id_64": "76561198086308733",
      "external_id": null,
      "banned": 0,
      "ban_reason": null,
      "banned_by": null,
      "attributes": null,
      "created_at": "2020-08-09T03:23:19.000000Z",
      "updated_at": "2020-08-09T03:23:19.000000Z"
    }
  }
}

DELETE /bans/{id}/trash

Trashing a ban is completely different than fully deleting a ban. When you trash a ban it will effectively archive the ban and it won't show up in any results unless specifically asked to. You can think of this as archiving bans if you don't want to delete your bans fully. When trashing a ban it will utilize the deleted_at field.

Request Payload: DELETE https://freya.test/api/v1/bans/1/trash

Response:

{
  "data": {
    "id": 1,
    "nickname": "Altyrian",
    "steam_id": "76561198056377032",
    "admin_steam_id": "76561198086308733",
    "reason": "Extended for continuing to failrp irl",
    "global": true,
    "server_ip": "127.0.0.1",
    "server_port": 25565,
    "admin_notes": "if this dood keeps being monkey perma ban his ass",
    "banned_on": "2020-08-09T03:19:41.000000Z",
    "expires_on": "2020-08-16T00:00:00.000000Z",
    "unbanned_admin_steam_id": null,
    "unbanned_reason": null,
    "attributes": null,
    "deleted_at": "2020-08-09T03:25:46.000000Z",
    "created_at": "2020-08-09T03:19:41.000000Z",
    "updated_at": "2020-08-09T03:25:46.000000Z",
    "attempts_count": 0,
    "user": {
      "id": 3,
      "username": "chip mungus",
      "avatar": "avatar_e867a640fc6347e83c0971f35bb87ce4.jpg",
      "user_group": 1,
      "steam_id_64": "76561198056377032",
      "external_id": null,
      "banned": 0,
      "ban_reason": null,
      "banned_by": null,
      "attributes": null,
      "created_at": "2020-08-09T03:23:27.000000Z",
      "updated_at": "2020-08-09T03:23:27.000000Z"
    },
    "admin": {
      "id": 2,
      "username": "Desert",
      "avatar": "avatar_5b4e2e1bce4e02617a040d2044523ab3.jpg",
      "user_group": 1,
      "steam_id_64": "76561198086308733",
      "external_id": null,
      "banned": 0,
      "ban_reason": null,
      "banned_by": null,
      "attributes": null,
      "created_at": "2020-08-09T03:23:19.000000Z",
      "updated_at": "2020-08-09T03:23:19.000000Z"
    }
  }
}

PATCH /bans/{id}/restore

This method can be used to restore a trashed ban, this will turn the deleted_at into null effectively removing the ban from the trash.

Request Payload: PATCH https://freya.test/api/v1/bans/1/restore

Response:

{
  "data": {
    "id": 1,
    "nickname": "Altyrian",
    "steam_id": "76561198056377032",
    "admin_steam_id": "76561198086308733",
    "reason": "Extended for continuing to failrp irl",
    "global": true,
    "server_ip": "127.0.0.1",
    "server_port": 25565,
    "admin_notes": "if this dood keeps being monkey perma ban his ass",
    "banned_on": "2020-08-09T03:19:41.000000Z",
    "expires_on": "2020-08-16T00:00:00.000000Z",
    "unbanned_admin_steam_id": null,
    "unbanned_reason": null,
    "attributes": null,
    "deleted_at": null,
    "created_at": "2020-08-09T03:19:41.000000Z",
    "updated_at": "2020-08-09T03:26:25.000000Z",
    "attempts_count": 0,
    "user": {
      "id": 3,
      "username": "chip mungus",
      "avatar": "avatar_e867a640fc6347e83c0971f35bb87ce4.jpg",
      "user_group": 1,
      "steam_id_64": "76561198056377032",
      "external_id": null,
      "banned": 0,
      "ban_reason": null,
      "banned_by": null,
      "attributes": null,
      "created_at": "2020-08-09T03:23:27.000000Z",
      "updated_at": "2020-08-09T03:23:27.000000Z"
    },
    "admin": {
      "id": 2,
      "username": "Desert",
      "avatar": "avatar_5b4e2e1bce4e02617a040d2044523ab3.jpg",
      "user_group": 1,
      "steam_id_64": "76561198086308733",
      "external_id": null,
      "banned": 0,
      "ban_reason": null,
      "banned_by": null,
      "attributes": null,
      "created_at": "2020-08-09T03:23:19.000000Z",
      "updated_at": "2020-08-09T03:23:19.000000Z"
    }
  }
}

DELETE /bans/{id}/delete

This is the scary bit, this is the force delete route, this will completely delete a ban as well as all of its attempts associated with the bans because they are a connected relationship. This action is irreversible and cannot be undone, so handle with care.

Request Payload: DELETE https://freya.test/api/v1/bans/1/delete

Response:

[]