Only this pageAll pages
Powered by GitBook
1 of 43

FiveRoster Docs

Loading...

Getting Started

Loading...

Loading...

Premium

Loading...

Roster Creation

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Application Creation

Loading...

Loading...

Loading...

Loading...

Loading...

Player Management

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Themes

Loading...

Loading...

API Management

Loading...

Loading...

Loading...

Affiliate Programme

Loading...

Loading...

Loading...

Integrations

Loading...

Loading...

Loading...

Welcome

Disclaimer: FiveRoster is in no way affiliated with Rockstar Games or CFX.re.

Welcome to the official documentation for FiveRoster, the ultimate web-based platform designed to simplify roster management for your game server communities! Accessible at fiveroster.com, FiveRoster empowers users to create, manage, and share department rosters seamlessly, all while leveraging the power of Discord for secure authentication and roster creation.

Whether you're organizing a gaming clan, managing a roleplay server, or coordinating teams for your community, FiveRoster provides an intuitive and efficient solution to keep your rosters organized and accessible. This documentation is your go-to resource for getting started, mastering features, and troubleshooting any questions you may have.

What is FiveRoster?

FiveRoster is a user-friendly platform that allows you to:

  • Create Department Rosters: Build structured rosters for your game server’s departments, such as moderators, admins, or in-game factions, with ease.

  • Integrate with Discord: Authenticate securely using your Discord account and pull relevant server membership data to streamline roster creation.

  • Manage Teams Efficiently: Organize, update, and share rosters to keep your community aligned and informed.

  • Ensure Security:

FiveRoster was created by to address the needs of FiveM server administrators and community leaders looking for a reliable and modern roster management tool away from having to use very manual cumbersome spreadsheets.

Getting Started

Ready to dive in? This documentation will guide you through every step of using FiveRoster. Here’s what you can explore:

Join the FiveRoster Community

FiveRoster is more than just a tool—it’s a community of game server administrators, moderators, and players working together to create unforgettable gaming experiences. Connect with us and other users on our official Discord server to share ideas, get support, or suggest new features.

Have questions or need help? Contact our support team via our official Discord server, accessible through . We’re here to ensure your experience with FiveRoster is nothing short of exceptional.

Inviting the Bot to your Discord Server

The first step in getting setup with FiveRoster is to invite our bot to your Discord server. You can do this by being prompted via the dashboard, homepage or alternatively visit .

Note: You must have the Manage Server permission in the Discord server you'd like to invite FiveRoster to.

Once you've clicked the link, you'll be shown a dialog like the one below, simply choose your server from the dropdown list and click the "Continue" button.

Once you've clicked the "Continue" button, you'll then be prompted to choose what permissions to give the FiveRoster bot. For full working functionality make sure that all of the permissions are selected and then click the "Authorize" button to add the bot to your server 🎉

Rest easy knowing we prioritize your privacy and security, with no storage of passwords or sensitive data and a recommendation to enable two-factor authentication (2FA) on your Discord account.
fiveroster.com
Cover

Inviting the Discord Bot to your Discord Server

Cover

Logging in and accessing the FiveRoster Dashboard

Cover

Creating your first department roster

Permissions dialog to authorise the FiveRoster bot access

If you have any difficulties inviting the Discord bot to your server, please feel free to open a support ticket via the official FiveRoster Discord server and one of the team will be glad to assist!

https://fiveroster.com/invite
Dialog shown in Discord to invite FiveRoster Bot

Restricting access to your roster

The last thing you want to worry about is ex-players still having access to your department rosters. That's why with FiveRoster, we've made the process easier for both granting players access and also restricting outsiders.

Only members in your Discord server can access your roster

Even though your roster link is publicly accessible, only members of your Discord server itself can access your rosters by default. This prevents ex-players/malicious actors from still having access to your information.

Role based access to view your roster

Along with only server members being able to access your rosters you can go a step further and only allow members with specific Discord roles to view your rosters. This works well if you have multiple departments (LSPD, BCSO, SASP) as well as individual Discord roles for each department.

To do this, click on your server in the dashboard and then click on the "Edit" button to be taken to the roster editor page. From here, scroll down to the bottom right where you see a "Access Controls & Logs" section. From the first dropdown, you can add/remove Discord roles you want players to have before they can view your specific roster.

Once you've selected the roles you'd like, click on the "Save Changes" button at the bottom right of the page to update your roster.

Static & Dynamic rank callsigns

Within FiveRoster there are two distinct types of roster rank callsigns, Static and Dynamic.

Static Callsigns

When a rank is created with a static callsign, this means that at any given time only one singular player can be assigned to this specific rank.

e.g. (Creating a Undersheriff rank for a Sheriff department roster. I only want one player to be Undersheriff so I will set the rank to use a static callsign of 02 with a prefix of S-).

Given this example above, when the roster is viewed publicly, only S-02 will be displayed under the "Undersheriff" rank.

Dynamic Callsigns

When a rank is created with a dynamic callsign, this means that more than one player can be assigned to this specific rank but with a different numerical callsign.

e.g. (Creating a Deputy rank for a Sheriff department roster. I only want 50 available callsigns to be generated for the rank of Deputy. I will set the rank to use a dynamic callsign with a range of 50-100 with a prefix of S-)

Given this example above, when the roster is viewed publicly, S-50, S-51, S-52, S-53... will be displayed under the "Deputy" rank.

If you have any further questions regarding how rank callsigns work, please feel free to reach out to us on our official Discord server.

Defining roster flags

Roster flags can be added to your roster for a range of different purposes. Flags are either yes or no and can be toggled by authorised players within the roster itself.

You could use these flags to mark off leave of absence, whether or not the player is an FTO or if the player assigned to the rank is part of any sub-divisions i.e. (SWAT, K9, HEAT).

Adding custom player statuses

This page is under construction. Please check back again soon!

Adding custom rank insignias

This page is under construction. Please check back again soon!

Managing player status

This page is under construction. Please check back again soon!

Creating your first application

This page is under construction. Please check back again soon!

Adding application questions

This page is under construction. Please check back again soon!

Requesting a payout

This page is under construction. Please check back again soon!

Creating your first roster

1

Access dashboard and click on "Manage" under your server panel

Once you have invited the FiveRoster bot to your Discord server, you'll be able to click on the "Manage" button on your server panel on the dashboard. By clicking this button, you'll then be taken to view your existing rosters and also create new ones.

2

Use the "Create New Roster" button on your server page

If you are creating a new roster for the first time on your server, you'll be prompted to "Create New Roster". Click on this button to be taken to the roster creation page.

3

Provide your roster name and select a theme

Once you've clicked the create button, you'll then be taken to the roster creation page. From here you can provide your roster name and also select the specific theme for your roster. Don't worry too much about your chosen theme as you can change this at any time.

This would be where you could provide "Los Santos Police Department" or "Blaine County Sheriff's Office".

After you've provided a name and selected your theme, click on the "Create Roster" button in the bottom right.

4

Your new roster has been created!

Upon creation you'll be redirected back to the server page where you'll now be able to see your new roster. From here you can then go in to edit the roster or even preview it publically via the random URL generated for it.

How to activate premium

We've partnered with Patreon to facilitate premium subscriptions. Upon successfully purchasing premium membership via Patreon, you will be automatically assigned the "Premium" role in the FiveRoster Discord server. This role is crucial for unlocking the benefits of premium on the platform.

You can purchase premium membership here.

Note: You'll need to log out of FiveRoster and log back in after receiving your Premium role for the changes to take effect.

Your Patreon account email address and Discord email address must be the same to receive your Premium role automatically in the Discord.

Useful Links & Articles

Enrol a player onto your roster

Enrolling players onto your roster can be done easily via the roster page itself. Only Administrators and Managers can enrol players onto the roster.

1

Click on the rank you'd like to enrol the player onto

Hover over the row you'd like to add the player to and left click. You'll then be shown a dialog to appoint a player.

Managing API Keys

API keys are managed on a per Discord server basis. When you add FiveRoster to your Discord server you'll have the option to generate API keys for your specific use within that server.

The data requested through the API will only be for the corresponding server and the rosters created within. If you attempt to retrieve roster information with an API key that isn't tied to the rosters Discord server then you will receive an error.

Generating a new API key

To create a new API key, you'll need to head to the server page in FiveRoster and click on the "Settings" tab. From here, you'll see a section titled "API Key Management". Then, click on the "Create API Key" button in the top right to be shown a modal to provide a name for your key and also set an optional expiry.

Cancelling a paid membership within Patreon
How to link your Discord account with Patreon
Any other Patreon related issues or queries

Your API key is to be kept secret as anyone with it can pull information from your rosters including player information and ranks.

Application stages

This page is under construction. Please check back again soon!

Approving an application

This page is under construction. Please check back again soon!

Rejecting an application

This page is under construction. Please check back again soon!

Becoming an affiliate

This page is under construction. Please check back again soon!

Understanding roster access levels

Your roster has specific access levels that determine what a player accessing the roster can do depending on their assigned roster rank. You can add/remove roles from ranks at any time and you can learn how to make those changes by clicking here.

🔴 Administrator

Administrators have access to amend the roster completely. They can clear ranks, assign players to specific ranks, promote/demote players and manage player strikes. Ranks with the access of Administrator are unrestricted.

🟡 Manager

Managers cannot change the roster itself but can clear ranks, assign players to specific ranks, promote/demote players and manage player strikes.

⚪ Read-Only

Players with read-only access can only view the roster. They cannot manage ranks or players on the roster.

How themes work

We plan to release a wide range of different themes and styles to really personalise your department rosters within FiveRoster. There will be plenty of themes to choose from and some themes will be exclusive to premium members.

Before themes are added to FiveRoster, a vote will be held in our official Discord server so you the community can choose if it's worth adding to the platform.

We also have plans to release a Theme Builder which allows you to become a theme creator publishing your creations to the Theme Marketplace for other members to use on their rosters. You can read more about this here.

Read-only Roster Access

This page is under construction. Please check back again soon!

Emergency Response Simulator

This page is under construction. Please check back again soon!

Automatically renaming player names based on rank

This page is under construction. Please check back again soon!

FivePD

This page is under construction. Please check back again soon!

Becoming a theme creator

In order to become a theme creator and publish your themes to the Theme Marketplace you'll need to make sure you have an active Premium subscription.

Opening theme creation to the community is very exciting for us and this is something we are actively working on to get this ready for everyone. Stay tuned for updates via our official Discord server.

2

Click on "Appoint a Player" to access the player selector

The player selector will be shown along the right hand side of the screen. From here you can search for members and select which player you'd like to enrol. Once you've made your selection, click on the "Appoint" button at the top right.

3

Player will be added to the roster 🎉

And that's it, the page will refresh and you'll now see the player assigned to that specific rank/callsign. If you have provided a roster announcement channel in Discord, FiveRoster will also post this appointment in that channel.

Promoting/Demoting a player

Promoting/demoting players in your roster can be done easily via the roster page itself. Only Administrators and Managers can promote/demote players.

Promoting a player ⬆️

1

Click on the player you'd like to promote

Hover over the player row you'd like to promote and left click. You'll then be shown a dialog to manage the player.

2

Click on "Promote Player" to select the next rank

From this screen, you'll be able to use the dropdown to select the rank to promote your selected player to. FiveRoster will automatically determine promotable ranks for this player by looking at your roster structure. In this case, the only viable rank that this player can be promoted to is "Deputy Director" as all other ranks above are occupied.

Dynamic callsign stretching

FiveRoster will automatically stretch dynamic callsign ranges if you still want to promote a player to a rank that is fully occupied. An example of this would be say Sergeant, all 10 Sergeant ranks are occupied so the platform will extend the max range to 11, create the callsign X-11 and then promote the player to that rank.

3

Click on the "Promote Player" button to promote them 🎉

After clicking on "Promote Player", the page will refresh and the player will have now been promoted to your chosen rank. If you have provided a roster announcement channel in Discord, FiveRoster will also post this promotion in that channel.

Demoting a player ⬇️

1

Click on the player you'd like to demote

Hover over the player row you'd like to demote and left click. You'll then be shown a dialog to manage the player.

2

Adding ranks and sections

So you've created your department roster and you are now ready to build it out with ranks and sections. We designed FiveRoster to be seamless but also intelligent when it comes to ranks. Before adding ranks to your roster, please ensure you've read about .

Adding a new rank to the roster

1

Managing player strikes

Player strikes can be managed easily via the roster page itself. Only Administrators and Managers can add/edit/remove player strikes.

Note: Player strikes automatically clear on promotion/demotion.

Adding a new player strike

1

Updating player notes

Player notes can be managed easily via the roster page itself. Only Administrators and Managers can add player notes to the roster.

1

Click on the player you'd like to add notes to

Hover over the player row you'd like to add notes to and left click. You'll then be shown a dialog to manage the player. Click on the "Notes" tab to access notes for this player.

Accessing the Dashboard

To access the FiveRoster dashboard, you can visit . If you are not already logged in, you'll be asked to login via Discord. Once you've logged in you'll be automatically redirected to the dashboard page.

You'll see all the Discord servers you are currently a member of and whether or not you have permission to install the FiveRoster bot.

If you've already invited the bot to your Discord server, you'll have the option to "Manage" your rosters.

https://fiveroster.com/dashboard
FiveRoster dashboard showing all servers

Affiliate Hub overview

This page is under construction. Please check back again soon!

Click on "Demote Player" to select the next rank

From this screen, you'll be able to use the dropdown to select the rank to demote your selected player to. FiveRoster will automatically determine demote-able ranks for this player by looking at your roster structure.

3

Click on the "Demote Player" button to demote them 🎉

After clicking on "Demote Player", the page will refresh and the player will have now been demoted to your chosen rank. If you have provided a roster announcement channel in Discord and checked the option to announce roster demotions, FiveRoster will also post this demotion in that channel.

Navigate to your roster editor page

From the dashboard, click "Manage" on the server panel where your roster resides to be taken to the roster editor page.

2

Click on the "Add Rank" button in the "Roster Ranks" section

By clicking on this button, you'll be prompted with a window to fill out your rank information and add it to the roster.

Field Types

  • Name: This is the name of your rank i.e. (Director, Assistant Director, Trooper II)

  • Insignia: This is where you can choose a unique insignia for this rank. These are predefined and we are continually adding new ones. If you don't want to use an insignia, select "No Insignia" from the dropdown options.

  • Callsign Prefix: This is the prefix for your callsign i.e. (1L-, K-, FD-). The prefix is optional as callsign numerics are taken care of by FiveRoster.

  • Callsign Type: This is where you can choose if you want the rank to use a static callsign and be singular or use a dynamic callsign and have multiple positions open for the same rank.

  • Discord Roles: This dropdown contains a list of roles within your Discord server. This is what roles players will be given upon being promoted to this rank or being appointed to this rank.

  • Access Roles: This allows you choose what kind of access you want this rank to have on the public facing roster. To learn more about roster access levels,

3

Provide the required information for your rank and save it

Fill out the information required for your rank and once you are done, click on the "Add Rank" button in the bottom right of the window.

4

You've just added a rank to your roster!

And that's it, you can very quickly build your rank structure with FiveRoster in a matter of minutes.

If you want to see how this looks on the public facing roster, you can scroll to the bottom fo the page and click on the "Preview Roster" button.

Adding a new rank section to the roster

Rank sections allow you to professionally organise your ranks into specific sections i.e. (Department Command, Lower Command, Supervisors).

To create a rank section, click on the "Add Section" button in the "Roster Ranks" area of the editor page and you'll be prompted to provide a name for your section.

Once you've added it to the roster you can move ranks and sections around by left clicking and dragging the three lines to the left of each row in the table.

static & dynamic callsigns
Example roster rank layout
Click on the player you'd like to add the strike to

Hover over the player row you'd like to add the player strike to and left click. You'll then be shown a dialog to manage the player. Click on the "Strikes" tab to access player strikes.

2

Click on the "Add Strike" button

Clicking on this button will allow you to provide strike information and then once complete click on "Add Strike" again to add this to the player record.

3

Player strike has been added to the roster 🎉

The player strike will be added to the roster and then viewable again when you click on the player row and click on the "Strikes" tab.

Editing an existing player strike

1

Click on the player you'd like to edit the strike on

Hover over the player row you'd like to edit the strike on and left click. You'll then be shown a dialog to manage the player. Click on the "Strikes" tab to access player strikes.

2

Click on the edit pencil icon next to the player strike

Clicking on this icon will allow you to amend the player strike information. Once you've edited the strike, click on the "Edit Strike" button to save your change.

3

Player strike has been edited on the roster 🎉

The player strike will be edited on the roster and then viewable again when you click on the player row and click on the "Strikes" tab.

Deleting a player strike

1

Click on the player you'd like to delete the strike on

Hover over the player row you'd like to delete the strike on and left click. You'll then be shown a dialog to manage the player. Click on the "Strikes" tab to access player strikes.

2

Click on the bin icon next to the player strike

Clicking on this icon will prompt the app to ask you if you are sure you would like to delete this strike. Once you've confirmed this and clicked "Confirm" the player strike will be deleted.

3

Player strike has been deleted on the roster 🎉

The player strike will be deleted on the roster and then when you click on the player row and click on the "Strikes" tab you will see it has disappeared.

2

Add notes and click the "Save Notes" button

Add or amend the notes for your chosen player and then click on the "Save Notes" button to save your changes. The page will refresh and the roster will now have the notes for this player visible.

click here.

PS-MDT

This page is under construction. Please check back again soon!

API Version 1.0

The FiveRoster API is currently in a BETA and you may experience bugs. Please log a support ticket if you encounter any problems.

Authentication

In order to authenticate with the FiveRoster API, you'll need to provide the API key you have generated in the header of the request under "X-API-KEY". The API may return a variety of different error messages:

Rate Limiting

The API has several protections in place to prevent API spam and misuse. By default, the API will rate limit IP addresses that attempt to make more than 50 requests per minute.


Retrieve all roster information

GET /api/v1/rosters

This endpoint is used to retrieve all roster information for a given Discord server and is returned in a JSON format. Rank information and flags are not omitted at this point for all rosters.

Headers

Name
Value

Example Response (200 OK)

Field
Description

Retrieve specific roster information

GET /api/v1/rosters/{roster_uuid}

This endpoint is used to retrieve specific roster information for a given Discord server and is returned in a JSON format. Rank information and flags IS omitted at this point for the roster.

Headers

Name
Value

Example Response (200 OK)


Retrieve roster player information

GET /api/v1/rosters/{roster_uuid}/players

This endpoint is used to retrieve all roster player information for a given roster and is returned in a JSON format. This only includes players enrolled actively on the roster itself.

Headers

Name
Value

Example Response (200 OK)


Code Examples

Here are some examples of how to request information from the FiveRoster API.

announce_demotions

Boolean if FiveRoster will announce demotion events

announce_demotion_channels

Array of Discord channels that will receive roster demotion alerts

announce_strikes

Boolean if FiveRoster will announce strike events

announce_strikes_channels

Array of Discord channels that will receive roster strike alerts

created_by

Discord user ID of the individual who created the roster

Content-Type

application/json

X-API-KEY

Generated API Key

id

The unique roster UUID

name

Name of the roster

guild_id

The Discord server ID

active_players

Count of players within the roster

role_access

Array of Discord roles that have access to view the specific roster

announcement_channels

Array of Discord channels that will receive roster notifications (appointments, promotions)

Content-Type

application/json

X-API-KEY

Generated API Key

Content-Type

application/json

X-API-KEY

Generated API Key

{
  "error": [
    "code": "missing_api_key",
    "message": "API key missing"
  ]
}
{
  "error": [
    "code": "invalid_api_key",
    "message": "Invalid API key"
  ]
}
{
  "error": [
    "code": "expired_api_key",
    "message": "API key expired"
  ]
}
{
  "error": [
    "code": "rate_limit_exceeded",
    "message": "Too many requests. Try again in 60 seconds."
  ]
}
{
    "data": [
        {
            "id": "47fcc2eb-624a-4eb8-83c2-18de03152v46",
            "name": "Los Santos Police Department",
            "guild_id": "1367933128899865454",
            "active_players": 19,
            "role_access": "[\"13678763030299115823\"]",
            "announcement_channels": "[\"1868017104954533704\"]",
            "announce_demotions": 0,
            "announce_demotions_channels": "[]",
            "announce_strikes": 0,
            "announce_strikes_channels": "[]",
            "created_by": "494901188844847121"
        },
        ...
    ]
}
{
    "data": {
        "id": "47fcc2eb-624a-4eb8-83c2-18de03152v46",
        "name": "Los Santos Police Department",
        "guild_id": "1367933128899865454",
        "active_players": 32,
        "role_access": "[\"1367946303022911583\"]",
        "flags": [{
            "id": 1,
            "name": "K-9",
            "attached_roles": ["1368538350297295944"],
            "access_roles": null
        }, {
            "id": 2,
            "name": "FTO",
            "attached_roles": ["1368538350297295944"],
            "access_roles": ["2"]
            // Access roles are for the roster management
            // [1] = Read Only
            // [2] = Manager
            // [3] = Administrator
        }, {
            "id": 4,
            "name": "Air Unit",
            "attached_roles": ["1368538350297295944"],
            "access_roles": null
        },
        ...],
        "ranks": [{
            "id": "4b3a1990-3b3a-48j8-8354-091a05f73fb5",
            "name": "Chief of Police",
            "discord_roles": "[\"1368537558136651874\"]",
            "access_roles": "[\"3\"]",
            "is_dynamic": 0,
            "callsign_prefix": "R-",
            "callsign_range": "0,0",
            "static_callsign": "01",
            "shortcode": "Chief"
        }, {
            "id": "af879926-135d-46d5-850c-78a9a5ec66324",
            "name": "Assistant Chief",
            "discord_roles": "[\"1368537558136651874\"]",
            "access_roles": "[\"3\"]",
            "is_dynamic": 0,
            "callsign_prefix": "R-",
            "callsign_range": "0,0",
            "static_callsign": "02",
            "shortcode": "AsstC"
        }, {
            "id": "bc307a3f-0219-43d8-b7aa-375009153",
            "name": "Deputy Chief",
            "discord_roles": "[\"1368537558136651874\"]",
            "access_roles": "[\"3\"]",
            "is_dynamic": 0,
            "callsign_prefix": "R-",
            "callsign_range": "0,0",
            "static_callsign": "03",
            "shortcode": "DepC"
        },
        {
            "id": "a7937764-0193-459e-89b4-1b196b84ea19",
            "name": "Lieutenant",
            "discord_roles": "[\"1368537558136651874\"]",
            "access_roles": "[\"1\"]",
            "is_dynamic": 1,
            "callsign_prefix": "R-",
            "callsign_range": "21,26",
            "static_callsign": "0",
            "shortcode": "LT"
        },
        ...
        ],
        "announcement_channels": "[\"1368537558136651874\"]",
        "announce_demotions": 0,
        "announce_demotions_channels": "[]",
        "announce_strikes": 0,
        "announce_strikes_channels": "[]",
        "created_by": "494901188844847121"
    }
}
{
    "data": [{
        "player_id": 494901138843847227,
        "player_name": "Ryneide",
        "rank": "Chief of Police",
        "callsign": "R-01",
        "status": "Active",
        "flags": [1],
        "strikes": [{
            "strike_info": "Player was driving erratically and not following department guidelines.",
            "issued_by": "494901138843847227",
            "issued_date": "2025-06-27T04:02:24.000000Z"
        }],
        "notes": "Example notes here.",
        "promoted_at": "2025-06-18T02:09:01.000000Z"
    },
    ...]
}
fetch('https://fiveroster.com/api/v1/rosters', {
  headers: {
    'X-API-KEY': 'YOUR_API_KEY_HERE'
  }
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://fiveroster.com/api/v1/rosters");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-API-KEY: YOUR_API_KEY_HERE'
]);

$response = curl_exec($ch);

if(curl_errno($ch)){
    echo 'Error:' . curl_error($ch);
} else {
    $data = json_decode($response, true);
    print_r($data);
}

curl_close($ch);
import requests

headers = {
    'X-API-KEY': 'YOUR_API_KEY_HERE'
}

response = requests.get('https://fiveroster.com/api/v1/rosters', headers=headers)
if response.ok:
    data = response.json()
    print(data)
else:
    print("Error:", response.status_code)
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program {
    static async Task Main() {
        HttpClient client = new HttpClient();
        client.DefaultRequestHeaders.Add("X-API-KEY", "YOUR_API_KEY_HERE");

        var response = await client.GetAsync("https://fiveroster.com/api/v1/rosters");
        if (response.IsSuccessStatusCode) {
            string data = await response.Content.ReadAsStringAsync();
            Console.WriteLine(data);
        } else {
            Console.WriteLine("Error: " + response.StatusCode);
        }
    }
}