Omniplex Docs
PopplioStaging

Servers

These API endpoints are related to servers on IBL

GET
/servers/@all

Get All Servers

Gets all servers on the list. Returns a set of paginated IndexServer objects

/servers/@all

Query Parameters

pagestring

The page number

curl -X GET "https://spider-staging.omniplex.gg/servers/@all?page=string"

Success

{
  "count": 18446744073709552000,
  "per_page": 18446744073709552000,
  "results": [
    {
      "approximate_votes": 0,
      "avatar": "string",
      "clicks": 0,
      "invite_clicks": 0,
      "name": "string",
      "nsfw": true,
      "online_members": 0,
      "premium": true,
      "server_id": "string",
      "short": "string",
      "state": "string",
      "tags": [
        "string"
      ],
      "total_members": 0,
      "type": "string",
      "vanity": "string",
      "vanity_ref": "e1b95001-3370-4367-9787-1fb904c7b8c7",
      "votes": 0
    }
  ]
}

GET
/servers/@random

Get Random Servers

Returns a list of servers from the database in random order

/servers/@random
curl -X GET "https://spider-staging.omniplex.gg/servers/@random"

Success

{
  "servers": [
    {
      "approximate_votes": 0,
      "avatar": "string",
      "clicks": 0,
      "invite_clicks": 0,
      "name": "string",
      "nsfw": true,
      "online_members": 0,
      "premium": true,
      "server_id": "string",
      "short": "string",
      "state": "string",
      "tags": [
        "string"
      ],
      "total_members": 0,
      "type": "string",
      "vanity": "string",
      "vanity_ref": "e1b95001-3370-4367-9787-1fb904c7b8c7",
      "votes": 0
    }
  ]
}

GET
/servers/@index

Get Servers Index

Gets the index of the server-side of the list. Returns a ListIndexServer object

/servers/@index
curl -X GET "https://spider-staging.omniplex.gg/servers/@index"

Success

{
  "certified": [
    {
      "approximate_votes": 0,
      "avatar": "string",
      "clicks": 0,
      "invite_clicks": 0,
      "name": "string",
      "nsfw": true,
      "online_members": 0,
      "premium": true,
      "server_id": "string",
      "short": "string",
      "state": "string",
      "tags": [
        "string"
      ],
      "total_members": 0,
      "type": "string",
      "vanity": "string",
      "vanity_ref": "e1b95001-3370-4367-9787-1fb904c7b8c7",
      "votes": 0
    }
  ],
  "most_viewed": [
    {
      "approximate_votes": 0,
      "avatar": "string",
      "clicks": 0,
      "invite_clicks": 0,
      "name": "string",
      "nsfw": true,
      "online_members": 0,
      "premium": true,
      "server_id": "string",
      "short": "string",
      "state": "string",
      "tags": [
        "string"
      ],
      "total_members": 0,
      "type": "string",
      "vanity": "string",
      "vanity_ref": "e1b95001-3370-4367-9787-1fb904c7b8c7",
      "votes": 0
    }
  ],
  "premium": [
    {
      "approximate_votes": 0,
      "avatar": "string",
      "clicks": 0,
      "invite_clicks": 0,
      "name": "string",
      "nsfw": true,
      "online_members": 0,
      "premium": true,
      "server_id": "string",
      "short": "string",
      "state": "string",
      "tags": [
        "string"
      ],
      "total_members": 0,
      "type": "string",
      "vanity": "string",
      "vanity_ref": "e1b95001-3370-4367-9787-1fb904c7b8c7",
      "votes": 0
    }
  ],
  "recently_added": [
    {
      "approximate_votes": 0,
      "avatar": "string",
      "clicks": 0,
      "invite_clicks": 0,
      "name": "string",
      "nsfw": true,
      "online_members": 0,
      "premium": true,
      "server_id": "string",
      "short": "string",
      "state": "string",
      "tags": [
        "string"
      ],
      "total_members": 0,
      "type": "string",
      "vanity": "string",
      "vanity_ref": "e1b95001-3370-4367-9787-1fb904c7b8c7",
      "votes": 0
    }
  ],
  "top_voted": [
    {
      "approximate_votes": 0,
      "avatar": "string",
      "clicks": 0,
      "invite_clicks": 0,
      "name": "string",
      "nsfw": true,
      "online_members": 0,
      "premium": true,
      "server_id": "string",
      "short": "string",
      "state": "string",
      "tags": [
        "string"
      ],
      "total_members": 0,
      "type": "string",
      "vanity": "string",
      "vanity_ref": "e1b95001-3370-4367-9787-1fb904c7b8c7",
      "votes": 0
    }
  ]
}

GET
/servers/meta

Get Server Meta

Resolves a Discord invite link to a preview of the server it points to (name, icon, member counts, and whether it's already listed), without adding it to the database. Used by Add Server to show the server being added before the user submits.

/servers/meta

The Authorization access token

Authorization

User-Auth<token>

Requires a user token. Should be prefixed with User in Authorization header.

In: header

Team-Auth<token>

Requires a team API session token. Should be prefixed with Team in Authorization header.

In: header

Query Parameters

invite
Required
string

The Discord invite link or code to resolve

curl -X GET "https://spider-staging.omniplex.gg/servers/meta?invite=string" \
  -H "User-Auth: <token>"

Success

{
  "already_listed": true,
  "avatar": "string",
  "bot_invite_url": "string",
  "bot_present": true,
  "list_type": "string",
  "name": "string",
  "online_members": 0,
  "server_id": "string",
  "total_members": 0
}

PUT
/servers

Add Server

Adds a server to the database from an invite link. Resolves the guild via the invite (the tracking bot does not need to already be in the server). Returns 204 on success

/servers

The Authorization access token

Authorization

User-Auth<token>

Requires a user token. Should be prefixed with User in Authorization header.

In: header

Team-Auth<token>

Requires a team API session token. Should be prefixed with Team in Authorization header.

In: header

Request Body

application/jsonRequired

extra_linksarray<object>

invitestring

longstring

nsfwboolean

shortstring

tagsarray<string>

team_ownerstring

curl -X PUT "https://spider-staging.omniplex.gg/servers" \
  -H "User-Auth: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "extra_links": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "invite": "string",
    "long": "string",
    "nsfw": true,
    "short": "string",
    "tags": [
      "string"
    ],
    "team_owner": "string"
  }'

Success

{
  "context": {
    "property1": "string",
    "property2": "string"
  },
  "message": "string"
}

GET
/servers/{id}

Get Server

Gets a server by id

/servers/{id}

Path Parameters

id
Required
string

The servers ID

Query Parameters

targetstring

The target page of the request if any.

If target is 'page', then unique clicks will be counted based on a SHA-256 hashed IP

If target is 'invite', then the invite will be counted as a click

Officially recognized targets:

  • page -> server page view
  • settings -> server settings page view
  • invite -> server invite view

includestring

What extra fields to include, comma-seperated. long => server long description

team_includesstring

What entities of the servers team to include

curl -X GET "https://spider-staging.omniplex.gg/servers/string?target=string&include=string&team_includes=string"

Success

{
  "approval_note": "string",
  "approximate_votes": 0,
  "bot_id": "string",
  "captcha_opt_out": true,
  "cert_reason": "string",
  "claimed_by": "string",
  "clicks": 0,
  "client_id": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "extra_links": [
    {
      "name": "string",
      "value": "string"
    }
  ],
  "invite": "string",
  "invite_clicks": 0,
  "itag": "6b5f8e7b-1e8c-4611-b693-ee8faa950c62",
  "last_claimed": "2019-08-24T14:15:22Z",
  "last_japi_update": "2019-08-24T14:15:22Z",
  "last_stats_post": "2019-08-24T14:15:22Z",
  "library": "string",
  "long": "string",
  "nsfw": true,
  "owner": {
    "avatar": "string",
    "bot": true,
    "display_name": "string",
    "extra_data": {
      "property1": null,
      "property2": null
    },
    "flags": [
      "string"
    ],
    "id": "string",
    "status": "string",
    "username": "string"
  },
  "prefix": "string",
  "premium": true,
  "premium_period_length": 0,
  "servers": 0,
  "shard_list": [
    0
  ],
  "shards": 0,
  "short": "string",
  "start_premium_period": "2019-08-24T14:15:22Z",
  "tags": [
    "string"
  ],
  "team_owner": {
    "approximate_votes": 0,
    "created_at": "2019-08-24T14:15:22Z",
    "entities": {
      "bots": [
        {
          "approximate_votes": 0,
          "bot_id": "string",
          "clicks": 0,
          "created_at": "2019-08-24T14:15:22Z",
          "invite_clicks": 0,
          "library": "string",
          "nsfw": true,
          "premium": true,
          "servers": 0,
          "shards": 0,
          "short": "string",
          "tags": [
            "string"
          ],
          "type": "string",
          "user": {
            "avatar": "string",
            "bot": true,
            "display_name": "string",
            "extra_data": {
              "property1": null,
              "property2": null
            },
            "flags": [
              "string"
            ],
            "id": "string",
            "status": "string",
            "username": "string"
          },
          "vanity": "string",
          "vanity_ref": "e1b95001-3370-4367-9787-1fb904c7b8c7",
          "votes": 0
        }
      ],
      "members": [
        {
          "created_at": "2019-08-24T14:15:22Z",
          "data_holder": true,
          "flags": [
            "string"
          ],
          "itag": "6b5f8e7b-1e8c-4611-b693-ee8faa950c62",
          "mentionable": true,
          "service": "string",
          "team_id": "string",
          "user": {
            "avatar": "string",
            "bot": true,
            "display_name": "string",
            "extra_data": {
              "property1": null,
              "property2": null
            },
            "flags": [
              "string"
            ],
            "id": "string",
            "status": "string",
            "username": "string"
          }
        }
      ],
      "servers": [
        {
          "approximate_votes": 0,
          "avatar": "string",
          "clicks": 0,
          "invite_clicks": 0,
          "name": "string",
          "nsfw": true,
          "online_members": 0,
          "premium": true,
          "server_id": "string",
          "short": "string",
          "state": "string",
          "tags": [
            "string"
          ],
          "total_members": 0,
          "type": "string",
          "vanity": "string",
          "vanity_ref": "e1b95001-3370-4367-9787-1fb904c7b8c7",
          "votes": 0
        }
      ],
      "targets": [
        "string"
      ]
    },
    "extra_links": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "id": "string",
    "name": "string",
    "nsfw": true,
    "service": "string",
    "short": "string",
    "tags": [
      "string"
    ],
    "updated_at": "2019-08-24T14:15:22Z",
    "vanity": "string",
    "vanity_ref": "e1b95001-3370-4367-9787-1fb904c7b8c7",
    "vote_banned": true,
    "votes": 0
  },
  "total_uptime": 0,
  "type": "string",
  "unique_clicks": 0,
  "updated_at": "2019-08-24T14:15:22Z",
  "uptime": 0,
  "uptime_last_checked": "2019-08-24T14:15:22Z",
  "user": {
    "avatar": "string",
    "bot": true,
    "display_name": "string",
    "extra_data": {
      "property1": null,
      "property2": null
    },
    "flags": [
      "string"
    ],
    "id": "string",
    "status": "string",
    "username": "string"
  },
  "users": 0,
  "vanity": "string",
  "vanity_ref": "e1b95001-3370-4367-9787-1fb904c7b8c7",
  "vote_banned": true,
  "votes": 0
}

GET
/servers/{id}/seo

Get Server SEO Info

Gets the minimal SEO information about a server for embed/search purposes. Used by v4 website for meta tags

/servers/{id}/seo

Path Parameters

id
Required
string

The server ID

curl -X GET "https://spider-staging.omniplex.gg/servers/string/seo"

Success

{
  "avatar": "string",
  "id": "string",
  "name": "string",
  "short": "string"
}

PATCH
/servers/{id}/settings

Update Server Settings

Updates a servers settings. You must have 'Edit Server Settings' in the team if the bot is in a team. Returns 204 on success

/servers/{id}/settings

The Authorization access token

Authorization

User-Auth<token>

Requires a user token. Should be prefixed with User in Authorization header.

In: header

Team-Auth<token>

Requires a team API session token. Should be prefixed with Team in Authorization header.

In: header

Server-Auth<token>

Requires a server API session token. Should be prefixed with Server in Authorization header.

In: header

Request Body

application/jsonRequired

captcha_opt_outboolean

extra_linksarray<object>

login_required_for_inviteboolean

Whether the server requires a login to be invited to it

longstring

nsfwboolean

shortstring

show_emojisboolean

Whether to show this server's emojis and stickers on its listing page. Requires the tracking bot to be in the server to actually have anything to show

statestring

Value in: "public" | "private" | "unlisted" | "defunct"

tagsarray<string>

Path Parameters

id
Required
string

Server ID

curl -X PATCH "https://spider-staging.omniplex.gg/servers/string/settings" \
  -H "User-Auth: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "captcha_opt_out": true,
    "extra_links": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "login_required_for_invite": true,
    "long": "string",
    "nsfw": true,
    "short": "string",
    "show_emojis": true,
    "state": "public",
    "tags": [
      "string"
    ]
  }'

Success

{
  "context": {
    "property1": "string",
    "property2": "string"
  },
  "message": "string"
}