Introduction

Social Link API documentation

This documentation aims to provide all the information you need to work with our API.

Authenticating requests

To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

You can retrieve your token by visiting your dashboard and clicking Generate API token.

Endpoints

Project Details

GET
api.social-link.net
/v1/{project_id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

project_id
string
required

The Project ID (UUID).

Example:
aba8c6c9-ec2f-447b-83f5-8b6746817732
Example request:
curl --request GET \
    --get "api.social-link.net/v1/aba8c6c9-ec2f-447b-83f5-8b6746817732" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "aba8c6c9-ec2f-447b-83f5-8b6746817732",
        "team": "Social Link's Team",
        "status": "published",
        "name": "Social Link",
        "slug": "demo",
        "theme": "Rust",
        "project_url": "demo.slink.gg",
        "domain_url": "",
        "final_url": "demo.slink.gg",
        "logo_url": "https://social-link.net/assets/branding/logo.jpg",
        "providers": {
            "discord": {
                "enable_guild_check": 1,
                "enable_booster_check": 1,
                "guild_id": "76561198181797236",
                "role_id": "76561198181797236",
                "should_add_role": 1,
                "bot_on_discord": 1
            },
            "steam": {
                "enable_group_check": 1,
                "group_link": "https://steamcommunity.com/groups/Social-Link",
                "group_id": "9134466"
            },
            "twitch": {
                "enable_follower_check": 1,
                "enable_subscriber_check": 1,
                "channel_link": null,
                "broadcaster_id": "9134466"
            }
        },
        "notifications": {
            "discord": {
                "enable": true,
                "webhook_url": "https://discord.com/api/webhooks/76561198181797236/DxeO4+N$bP2z-CQw-=A*mqHZZrA:oa&X7|qPw<lA$b-_q[<j?ppb/C=X[<ynT<et(%1C"
            }
        },
        "game_servers": [
            {
                "status": "enabled",
                "connection_type": "rcon",
                "type": "rust",
                "name": "Social Link Server",
                "rcon_ip": "1.1.1.1",
                "rcon_port": "28016",
                "commands": [
                    {
                        "is_active": true,
                        "type": "auth",
                        "provider": "steam_group_member",
                        "command": "say \"Auth {SteamID} - {SteamName} SteamGroupMember from Server 1 by Social Link!\"",
                        "created_at": "2023-06-24T11:16:00.000000Z",
                        "updated_at": "2023-06-24T11:16:00.000000Z"
                    },
                    {
                        "is_active": true,
                        "type": "auth",
                        "provider": "discord_guild_member",
                        "command": "say \"Auth {SteamID} - {SteamName} DiscordGuildMember from Server 1 by Social Link!\"",
                        "created_at": "2023-06-24T11:16:00.000000Z",
                        "updated_at": "2023-06-24T11:16:00.000000Z"
                    },
                    {
                        "is_active": true,
                        "type": "auth",
                        "provider": "discord_guild_nitro",
                        "command": "say \"Auth {SteamID} - {SteamName} DiscordGuildNitro from Server 1 by Social Link!\"",
                        "created_at": "2023-06-24T11:16:00.000000Z",
                        "updated_at": "2023-06-24T11:16:00.000000Z"
                    },
                    {
                        "is_active": true,
                        "type": "deauth",
                        "provider": "steam_group_member",
                        "command": "say \"Deauth {SteamID} - {SteamName} SteamGroupMember from Server 1 by Social Link!\"",
                        "created_at": "2023-06-24T11:16:00.000000Z",
                        "updated_at": "2023-06-24T11:16:00.000000Z"
                    },
                    {
                        "is_active": true,
                        "type": "deauth",
                        "provider": "discord_guild_member",
                        "command": "say \"Deauth {SteamID} - {SteamName} DiscordGuildMember from Server 1 by Social Link!\"",
                        "created_at": "2023-06-24T11:16:00.000000Z",
                        "updated_at": "2023-06-24T11:16:00.000000Z"
                    },
                    {
                        "is_active": true,
                        "type": "deauth",
                        "provider": "discord_guild_nitro",
                        "command": "say \"Deauth {SteamID} - {SteamName} DiscordGuildNitro from Server 1 by Social Link!\"",
                        "created_at": "2023-06-24T11:16:00.000000Z",
                        "updated_at": "2023-06-24T11:16:00.000000Z"
                    }
                ],
                "created_at": "2023-06-24T11:16:00.000000Z",
                "updated_at": "2023-06-24T11:16:00.000000Z"
            }
        ],
        "metadata": {
            "title": "Social Link",
            "description": "Social Link - Effortless Social Linking for Gamers",
            "theme_color": "#da532c",
            "favicon_url": "https://social-link.net/assets/branding/logo.jpg",
            "image_url": "https://social-link.net/assets/branding/banner.jpg"
        },
        "created_at": "2023-06-24T11:15:59.000000Z",
        "updated_at": "2023-06-24T11:15:59.000000Z"
    }
}

Players List

GET
api.social-link.net
/v1/{project_id}/players
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

project_id
string
required

The Project ID (UUID).

Example:
aba8c6c9-ec2f-447b-83f5-8b6746817732
Example request:
curl --request GET \
    --get "api.social-link.net/v1/aba8c6c9-ec2f-447b-83f5-8b6746817732/players" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "name": "Player",
            "is_banned": 0,
            "steam": {
                "id": "76561198181797236",
                "name": "Havens",
                "avatar": "https://avatars.steamstatic.com/logo.jpg",
                "group_checked": 1,
                "group_last_check": "2023-07-08T14:09:31.000000Z"
            },
            "discord": {
                "id": "765611981817972366",
                "name": "Player",
                "avatar": "https://cdn.discordapp.com/avatars/765611981817972366/logo.jpg",
                "guild_checked": 1,
                "guild_last_check": "2023-07-08T14:09:31.000000Z",
                "booster_checked": 0,
                "booster_last_check": "2023-07-08T14:09:33.000000Z",
                "has_given_role": 1
            },
            "twitch": {
                "id": null,
                "name": null,
                "avatar": null,
                "follower_checked": 0,
                "follower_last_check": null,
                "subscriber_checked": 0,
                "subscriber_last_check": null
            },
            "created_at": "2023-07-08T14:09:25.000000Z",
            "updated_at": "2023-07-08T14:09:33.000000Z"
        }
    ],
    "links": {
        "first": "https://social-link.net/api/v1/44e24df3-e002-4e45-a393-814d2da35c0a/players?page=1",
        "last": "https://social-link.net/api/v1/44e24df3-e002-4e45-a393-814d2da35c0a/players?page=2",
        "prev": null,
        "next": "https://social-link.net/api/v1/44e24df3-e002-4e45-a393-814d2da35c0a/players?page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 2,
        "links": [
            {
                "url": null,
                "label": "&laquo; Previous",
                "active": false
            },
            {
                "url": "https://social-link.net/api/v1/44e24df3-e002-4e45-a393-814d2da35c0a/players?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": "https://social-link.net/api/v1/44e24df3-e002-4e45-a393-814d2da35c0a/players?page=2",
                "label": "2",
                "active": false
            },
            {
                "url": "https://social-link.net/api/v1/44e24df3-e002-4e45-a393-814d2da35c0a/players?page=2",
                "label": "Next &raquo;",
                "active": false
            }
        ],
        "path": "https://social-link.net/api/v1/44e24df3-e002-4e45-a393-814d2da35c0a/players",
        "per_page": 1,
        "to": 2,
        "total": 2
    }
}

Player Detail

GET
api.social-link.net
/v1/{project_id}/players/{playerId}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

project_id
string
required

The Project ID (UUID).

Example:
aba8c6c9-ec2f-447b-83f5-8b6746817732
playerId
string
required
Example:
aperiam
id
string
required

The Steam ID (SteamID64) / Discord ID / Twitch ID of the player.

Example:
76561198181797236
Example request:
curl --request GET \
    --get "api.social-link.net/v1/aba8c6c9-ec2f-447b-83f5-8b6746817732/players/aperiam" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "name": "Player",
        "is_banned": 0,
        "steam": {
            "id": "76561198181797236",
            "name": "Havens",
            "avatar": "https://avatars.steamstatic.com/logo.jpg",
            "group_checked": 1,
            "group_last_check": "2023-07-08T14:09:31.000000Z"
        },
        "discord": {
            "id": "765611981817972366",
            "name": "Player",
            "avatar": "https://cdn.discordapp.com/avatars/765611981817972366/logo.jpg",
            "guild_checked": 1,
            "guild_last_check": "2023-07-08T14:09:31.000000Z",
            "booster_checked": 0,
            "booster_last_check": "2023-07-08T14:09:33.000000Z",
            "has_given_role": 1
        },
        "twitch": {
            "id": null,
            "name": null,
            "avatar": null,
            "follower_checked": 0,
            "follower_last_check": null,
            "subscriber_checked": 0,
            "subscriber_last_check": null
        },
        "created_at": "2023-07-08T14:09:25.000000Z",
        "updated_at": "2023-07-08T14:09:33.000000Z"
    }
}

Discord Guild Re-check

PUT
api.social-link.net
/v1/{project_id}/players/{playerId}/discord/recheck-guild
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

project_id
string
required

The Project ID (UUID).

Example:
aba8c6c9-ec2f-447b-83f5-8b6746817732
playerId
string
required
Example:
nihil
id
string
required

The Steam ID (SteamID64) / Discord ID / Twitch ID of the player.

Example:
76561198181797236
Example request:
curl --request PUT \
    "api.social-link.net/v1/aba8c6c9-ec2f-447b-83f5-8b6746817732/players/nihil/discord/recheck-guild" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "success": true,
    "message": "The Discord guild re-check has been launched.",
    "data": []
}

Discord Boost Re-check

PUT
api.social-link.net
/v1/{project_id}/players/{playerId}/discord/recheck-boost
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

project_id
string
required

The Project ID (UUID).

Example:
aba8c6c9-ec2f-447b-83f5-8b6746817732
playerId
string
required
Example:
explicabo
id
string
required

The Steam ID (SteamID64) / Discord ID / Twitch ID of the player.

Example:
76561198181797236
Example request:
curl --request PUT \
    "api.social-link.net/v1/aba8c6c9-ec2f-447b-83f5-8b6746817732/players/explicabo/discord/recheck-boost" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "success": true,
    "message": "The Discord boost re-check has been launched.",
    "data": []
}
PUT
api.social-link.net
/v1/{project_id}/players/{playerId}/discord/unlink
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

project_id
string
required

The Project ID (UUID).

Example:
aba8c6c9-ec2f-447b-83f5-8b6746817732
playerId
string
required
Example:
quis
id
string
required

The Steam ID (SteamID64) / Discord ID / Twitch ID of the player.

Example:
76561198181797236
Example request:
curl --request PUT \
    "api.social-link.net/v1/aba8c6c9-ec2f-447b-83f5-8b6746817732/players/quis/discord/unlink" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:

Discord Delete Player Data

DELETE
api.social-link.net
/v1/{project_id}/players/{playerId}/discord/delete-data
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

project_id
string
required

The Project ID (UUID).

Example:
aba8c6c9-ec2f-447b-83f5-8b6746817732
playerId
string
required
Example:
cupiditate
id
string
required

The Steam ID (SteamID64) / Discord ID / Twitch ID of the player.

Example:
76561198181797236
Example request:
curl --request DELETE \
    "api.social-link.net/v1/aba8c6c9-ec2f-447b-83f5-8b6746817732/players/cupiditate/discord/delete-data" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "success": true,
    "message": "Discord data deletion has been launched.",
    "data": []
}
PUT
api.social-link.net
/v1/{project_id}/players/{playerId}/twitch/unlink
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

project_id
string
required

The Project ID (UUID).

Example:
aba8c6c9-ec2f-447b-83f5-8b6746817732
playerId
string
required
Example:
tempore
id
string
required

The Steam ID (SteamID64) / Discord ID / Twitch ID of the player.

Example:
76561198181797236
Example request:
curl --request PUT \
    "api.social-link.net/v1/aba8c6c9-ec2f-447b-83f5-8b6746817732/players/tempore/twitch/unlink" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:

Twitch Delete Player Data

DELETE
api.social-link.net
/v1/{project_id}/players/{playerId}/twitch/delete-data
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

project_id
string
required

The Project ID (UUID).

Example:
aba8c6c9-ec2f-447b-83f5-8b6746817732
playerId
string
required
Example:
repellendus
id
string
required

The Steam ID (SteamID64) / Discord ID / Twitch ID of the player.

Example:
76561198181797236
Example request:
curl --request DELETE \
    "api.social-link.net/v1/aba8c6c9-ec2f-447b-83f5-8b6746817732/players/repellendus/twitch/delete-data" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "success": true,
    "message": "Discord data deletion has been launched.",
    "data": []
}

Steam Group Re-check

PUT
api.social-link.net
/v1/{project_id}/players/{playerId}/steam/recheck-group
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

project_id
string
required

The Project ID (UUID).

Example:
aba8c6c9-ec2f-447b-83f5-8b6746817732
playerId
string
required
Example:
excepturi
id
string
required

The Steam ID (SteamID64) / Discord ID / Twitch ID of the player.

Example:
76561198181797236
Example request:
curl --request PUT \
    "api.social-link.net/v1/aba8c6c9-ec2f-447b-83f5-8b6746817732/players/excepturi/steam/recheck-group" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "success": true,
    "message": "The Steam group re-check has been launched.",
    "data": []
}
PUT
api.social-link.net
/v1/{project_id}/players/{playerId}/steam/unlink
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

project_id
string
required

The Project ID (UUID).

Example:
aba8c6c9-ec2f-447b-83f5-8b6746817732
playerId
string
required
Example:
ratione
id
string
required

The Steam ID (SteamID64) / Discord ID / Twitch ID of the player.

Example:
76561198181797236
Example request:
curl --request PUT \
    "api.social-link.net/v1/aba8c6c9-ec2f-447b-83f5-8b6746817732/players/ratione/steam/unlink" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:

Ban Player

PUT
api.social-link.net
/v1/{project_id}/players/{playerId}/ban
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

project_id
string
required

The Project ID (UUID).

Example:
aba8c6c9-ec2f-447b-83f5-8b6746817732
playerId
string
required
Example:
ducimus
id
string
required

The Steam ID (SteamID64) / Discord ID / Twitch ID of the player.

Example:
76561198181797236
Example request:
curl --request PUT \
    "api.social-link.net/v1/aba8c6c9-ec2f-447b-83f5-8b6746817732/players/ducimus/ban" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "success": true,
    "message": "The player has been banned.",
    "data": []
}

Unban Player

PUT
api.social-link.net
/v1/{project_id}/players/{playerId}/unban
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

project_id
string
required

The Project ID (UUID).

Example:
aba8c6c9-ec2f-447b-83f5-8b6746817732
playerId
string
required
Example:
autem
id
string
required

The Steam ID (SteamID64) / Discord ID / Twitch ID of the player.

Example:
76561198181797236
Example request:
curl --request PUT \
    "api.social-link.net/v1/aba8c6c9-ec2f-447b-83f5-8b6746817732/players/autem/unban" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "success": true,
    "message": "The player has been unbanned.",
    "data": []
}

Delete Player

DELETE
api.social-link.net
/v1/{project_id}/players/{playerId}/delete
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

project_id
string
required

The Project ID (UUID).

Example:
aba8c6c9-ec2f-447b-83f5-8b6746817732
playerId
string
required
Example:
et
id
string
required

The Steam ID (SteamID64) / Discord ID / Twitch ID of the player.

Example:
76561198181797236
Example request:
curl --request DELETE \
    "api.social-link.net/v1/aba8c6c9-ec2f-447b-83f5-8b6746817732/players/et/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "success": true,
    "message": "The player has been deleted.",
    "data": []
}