Skip to content
Fluxer API

Admin applications

An application is an OAuth2 client that can have one bot account. These routes look up any application and transfer its ownership. To manage your own applications, use the public Applications resource.

Admin routes return applications in this structure. When the application has a bot, bot_user_id is the same as id. The object never has the client secret or bot token, only whether each one is set.

FieldTypeDescription
idsnowflakeThe ID of the application
namestringThe display name (1-256 characters)
owner_user_idsnowflakeThe ID of the owning account
owner_username1?stringThe username of the owner
owner_global_name1?stringThe display name of the owner
owner_discriminator1?stringThe discriminator of the owner, as four digits
bot_user_id?snowflakeThe ID of the bot account, or null when there is no bot
bot_username2?stringThe username of the bot
bot_global_name2?stringThe display name of the bot
bot_discriminator2?stringThe discriminator of the bot, as four digits
bot_is_publicbooleanWhether an account other than the owner can add the bot
bot_require_code_grantbooleanWhether adding the bot needs a completed authorization code grant
oauth2_redirect_urisarray[string]The registered OAuth2 redirect URIs (at most 10)
has_client_secretbooleanWhether the application has a client secret
has_bot_tokenbooleanWhether the application has a bot token
bot_token_preview?stringThe first 8 characters of the bot token's secret part
bot_token_created_at?ISO8601 timestampWhen the bot token was created
client_secret_created_at?ISO8601 timestampWhen the client secret was created
versionintegerThe version of the application, which goes up on each change (0-2147483647)

1 These are null when the owner account doesn't exist.

2 These are null when there is no bot or the bot account doesn't exist.

{
"id": "1501314428688998182",
"name": "Metronome",
"owner_user_id": "1483920011884392448",
"owner_username": "wren",
"owner_global_name": "Wren",
"owner_discriminator": "0042",
"bot_user_id": "1501314428688998182",
"bot_username": "metronome",
"bot_global_name": null,
"bot_discriminator": "0001",
"bot_is_public": true,
"bot_require_code_grant": false,
"oauth2_redirect_uris": ["https://example.com/oauth2/callback"],
"has_client_secret": true,
"has_bot_token": true,
"bot_token_preview": "kQ9xT2mA",
"bot_token_created_at": "2026-02-11T09:14:02.117Z",
"client_secret_created_at": "2026-02-11T09:13:58.004Z",
"version": 7
}

The API has one built-in application for the Admin panel's OAuth2 client, with ID 1234567890123456789 and owner 0. Its name is the instance name followed by Admin. It exists only while the Admin client secret is set. List applications never returns it, and transferring it fails with 403 FORBIDDEN.

GET/v1/admin/applicationsAudit reason

Returns the applications an account owns, or the applications whose bot is a member of a guild. Send exactly one of the query parameters. owner_id needs application:list:by_owner and guild_id needs application:lookup.

FieldTypeDescription
owner_id?snowflakeSelect the applications this account owns
guild_id?snowflakeSelect the applications whose bot is a member of this guild
FieldTypeDescription
applicationsarray[Admin application object]The selected applications
StatusBodyCondition
200response bodyThe selected applications were returned
404error responseUNKNOWN_USER or UNKNOWN_GUILD when the ID doesn't exist

The Admin audit entry has the action list_user_applications or list_guild_applications and the metadata key application_count.

The rate limit is 200 requests per minute, on the admin:lookup bucket.

GET/v1/admin/applications/{application_id}Audit reason

Returns one application, or null when no application has this ID. You need application:lookup.

FieldTypeDescription
application?Admin application objectThe application
StatusBodyCondition
200response bodyThe lookup completed

The Admin audit entry has the action get_application and the metadata key found, plus owner_user_id and bot_user_id when the application has them.

The rate limit is 200 requests per minute, on the admin:lookup bucket.

PATCH/v1/admin/applications/{application_id}Audit reason

Moves the application to another account and returns the updated Admin application object. You need application:transfer_ownership.

FieldTypeDescription
new_owner_idsnowflakeThe account to transfer the application to
FieldTypeDescription
applicationAdmin application objectThe application after the transfer
StatusBodyCondition
200response bodyOwnership was transferred
403error responseFORBIDDEN for the built-in Admin application
404error responseUNKNOWN_APPLICATION or UNKNOWN_USER for the new owner

The Admin audit entry has the action transfer_ownership and the metadata keys old_owner_id and new_owner_id.

The rate limit is 100 requests per minute, on the admin:guild:modify bucket.