What are Alt Flags?

Alt flags are a powerful tool for tracking a certain person trying to join on an alternate account. The way it works is: You create a flag for a user, the flag can now be used to look for instances of the user alting, if the flag returns back true it will output the correct information for you to carry out the next action.

If you are looking to create detections you'll want to head over to the Alt Monitoring section, they manage the detections whenever an alt flag is triggered.

Here is a flowchart example of how the Alt system should be used: (Full image here)

GET /bans/alts/flags

This route will return a collection of alt flags paginated by 25.

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

Response:

{
  "data": [
    {
      "id": 1,
      "steam_id": "76561198056377032",
      "ip": "72.169.69.21",
      "action": "monitor",
      "attributes": null,
      "deleted_at": null,
      "created_at": "2020-08-09T04:10:53.000000Z",
      "updated_at": "2020-08-09T04:10:53.000000Z"
    }
  ],
  "links": {
    "first": "http:\/\/freya.test\/api\/v1\/bans\/alts\/flags?page=1",
    "last": "http:\/\/freya.test\/api\/v1\/bans\/alts\/flags?page=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "path": "http:\/\/freya.test\/api\/v1\/bans\/alts\/flags",
    "per_page": 25,
    "to": 1,
    "total": 1
  }
}

GET /bans/alts/flag/{id}

This will return a response with the alt flag you're attempting to get by its ID.

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

Response: 200 OK

{
  "data": {
    "id": 1,
    "steam_id": "76561198056377032",
    "ip": "72.169.69.21",
    "action": "monitor",
    "attributes": null,
    "deleted_at": null,
    "created_at": "2020-08-09T04:10:53.000000Z",
    "updated_at": "2020-08-09T04:10:53.000000Z"
  }
}

GET /bans/alts/flags/find

This route will allow you to search through the alt flags. It will return a collection of 25 paginated items.

Name Type Required Description
steam_id test The SteamID associated with the alt flag.
ip test The IP address associated with the alt flag.
action string The action associated with the alt flag.

Request Payload: GET https://freya.test/api/v1/bans/alts/flags/find?steam_id=76561198056377032

Response:

{
  "data": [
    {
      "id": 1,
      "steam_id": "76561198056377032",
      "ip": "72.169.69.21",
      "action": "monitor",
      "attributes": null,
      "deleted_at": null,
      "created_at": "2020-08-09T04:10:53.000000Z",
      "updated_at": "2020-08-09T04:10:53.000000Z"
    }
  ],
  "links": {
    "first": "http:\/\/freya.test\/api\/v1\/bans\/alts\/flags\/find?page=1",
    "last": "http:\/\/freya.test\/api\/v1\/bans\/alts\/flags\/find?page=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "path": "http:\/\/freya.test\/api\/v1\/bans\/alts\/flags\/find",
    "per_page": 25,
    "to": 1,
    "total": 1
  }
}

POST /bans/alts/flags/create

This route will allow you to create an alt flag. Alt flags are powerful tools for hunting down alt accounts. Whenever an alt account is detected the flag will give context as to what action needs to be taken on the alt account. The flag context for identifying a user can be used not only by SteamID but also IP address as-well.

You cannot make multiple flags with the same SteamID or IP address.

Please note that the actions have to be manually created by you, the suite does not automatically carry out the actions because that would cause limitations and complications.

Name Type Required Description
steam_id string The SteamID of the user you want flagged. Must be present if IP field is empty.
ip string The IP of the user you want flagged. Must be present if SteamID field is empty.
action enum Tells the suite which action you'd like to preform if the user is flagged. Valid Actions are listed below this table.
attributes array Used for external modding purposes.

Valid Actions

auto_ban Indicated to automatically ban the user if alt is detected.

monitor Monitors & records alt detections if flag is hit.

ignore Does nothing

other For external modding uses

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

{
    "steam_id": "76561198056377032",
    "ip": "72.169.69.21",
    "action": "monitor"
}

Response: 201 Created

{
  "data": {
    "steam_id": "76561198056377032",
    "ip": "72.169.69.21",
    "action": "monitor",
    "attributes": null,
    "updated_at": "2020-08-09T04:10:53.000000Z",
    "created_at": "2020-08-09T04:10:53.000000Z",
    "id": 1
  }
}

PUT /bans/alts/flags/{id}/update

This route will allow you to update a specific alt flag by its ID. Exclude fields you don't want to update and they will keep their original context.

Name Type Required Description
steam_id string SteamID associated with the alt flag.
ip string IP address associated with the alt flag.
action enum The action preformed if the alt flag is triggered.
attributes array External modding purposes.

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

{
    "ip": "69.420.21.69"
}

Response: 200 OK

{
  "data": {
    "id": 1,
    "steam_id": "76561198056377032",
    "ip": "69.420.21.69",
    "action": "monitor",
    "attributes": null,
    "deleted_at": null,
    "created_at": "2020-08-09T04:10:53.000000Z",
    "updated_at": "2020-08-09T04:12:47.000000Z"
  }
}

DELETE /bans/alts/flags/{id}/trash

This route will allow you to trash an alt flag. Much like trashing a ban this does not completely delete the alt flag, rather it archives it in a way. A trashed flag will not appear in any search results unless specifically wanted.

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

Response: 200 OK

{
  "data": {
    "id": 1,
    "steam_id": "76561198056377032",
    "ip": "69.420.21.69",
    "action": "monitor",
    "attributes": null,
    "deleted_at": "2020-08-09T04:13:11.000000Z",
    "created_at": "2020-08-09T04:10:53.000000Z",
    "updated_at": "2020-08-09T04:13:11.000000Z"
  }
}

PATCH /bans/alts/flags/{id}/restore

This route will allow you to restore an alt flag that has been trashed. This will basically re-activate the alt flag and make it active again.

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

Response: 200 OK

{
  "data": {
    "id": 1,
    "steam_id": "76561198056377032",
    "ip": "69.420.21.69",
    "action": "monitor",
    "attributes": null,
    "deleted_at": null,
    "created_at": "2020-08-09T04:10:53.000000Z",
    "updated_at": "2020-08-09T04:13:26.000000Z"
  }
}

DELETE /bans/alts/flags/{id}/delete

This route will allow you to delete an alt flag. This is not like trashing an alt flag, this will completely delete the flag and it cannot be recovered.

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

Response: 200 OK

[]