448 lines
15 KiB
Plaintext

---
title: 'OAuth2'
description: 'OAuth2 object schemas from the Fluxer API.'
---
<a id="applicationbotresponse"></a>
## ApplicationBotResponse
Detailed bot user metadata
| Field | Type | Description |
|-------|------|-------------|
| authenticator_types? | [AuthenticatorType](#authenticatortype)[] | The types of authenticators enabled |
| avatar? | ?string | The avatar hash of the bot |
| banner? | ?string | The banner hash of the bot |
| bio | ?string | The bio or description of the bot |
| discriminator | string | The discriminator of the bot |
| flags | [BotFlags](#botflags) | |
| id | [SnowflakeType](#snowflaketype) | The unique identifier of the bot user |
| mfa_enabled? | boolean | Whether the bot has MFA enabled |
| token? | string | The bot token for authentication |
| username | string | The username of the bot |
<a id="applicationcreaterequest"></a>
## ApplicationCreateRequest
**Related endpoints**
- [`POST /oauth2/applications`](/api-reference/oauth2/create-oauth2-application)
| Field | Type | Description |
|-------|------|-------------|
| bot_public? | boolean | Whether the bot can be invited by anyone |
| bot_require_code_grant? | boolean | Whether the bot requires OAuth2 code grant |
| name | string | The name of the application |
| redirect_uris? | ?[OAuth2RedirectURICreateType](#oauth2redirecturicreatetype)[] | The redirect URIs for OAuth2 flows |
<a id="applicationflags"></a>
## ApplicationFlags
The application flags
Type: integer (int32)
<a id="applicationlistresponse"></a>
## ApplicationListResponse
**Related endpoints**
- [`GET /oauth2/applications/@me`](/api-reference/oauth2/list-user-applications)
- [`GET /users/@me/applications`](/api-reference/oauth2/list-user-applications)
Type: [ApplicationResponse](#applicationresponse)[]
<a id="applicationpublicresponse"></a>
## ApplicationPublicResponse
**Related endpoints**
- [`GET /oauth2/applications/{id}/public`](/api-reference/oauth2/get-public-application)
| Field | Type | Description |
|-------|------|-------------|
| bot | ?[ApplicationBotResponse](#applicationbotresponse) | The bot user associated with the application |
| bot_public | boolean | Whether the bot can be invited by anyone |
| description | ?string | The description of the application |
| icon | ?string | The icon hash of the application |
| id | [SnowflakeType](#snowflaketype) | The unique identifier of the application |
| name | string | The name of the application |
| redirect_uris | string[] | The registered redirect URIs for OAuth2 |
| scopes | string[] | The available OAuth2 scopes |
<a id="applicationresponse"></a>
## ApplicationResponse
**Related endpoints**
- [`GET /oauth2/applications/{id}`](/api-reference/oauth2/get-application)
- [`POST /oauth2/applications`](/api-reference/oauth2/create-oauth2-application)
- [`POST /oauth2/applications/{id}/client-secret/reset`](/api-reference/oauth2/reset-client-secret)
- [`PATCH /oauth2/applications/{id}`](/api-reference/oauth2/update-application)
| Field | Type | Description |
|-------|------|-------------|
| bot? | [ApplicationBotResponse](#applicationbotresponse) | |
| bot_public | boolean | Whether the bot can be invited by anyone |
| bot_require_code_grant | boolean | Whether the bot requires OAuth2 code grant |
| client_secret? | string | The client secret for OAuth2 authentication |
| id | [SnowflakeType](#snowflaketype) | The unique identifier of the application |
| name | string | The name of the application |
| redirect_uris | string[] | The registered redirect URIs for OAuth2 |
<a id="applicationsmeresponse"></a>
## ApplicationsMeResponse
**Related endpoints**
- [`GET /applications/@me`](/api-reference/oauth2/list-current-user-applications)
| Field | Type | Description |
|-------|------|-------------|
| bot? | [ApplicationBotResponse](#applicationbotresponse) | |
| bot_public | boolean | Whether the bot can be invited by anyone |
| bot_require_code_grant | boolean | Whether the bot requires OAuth2 code grant |
| description | ?string | The description of the application |
| flags | [ApplicationFlags](#applicationflags) | |
| icon | ?string | The icon hash of the application |
| id | [SnowflakeType](#snowflaketype) | The unique identifier of the application |
| name | string | The name of the application |
<a id="applicationupdaterequest"></a>
## ApplicationUpdateRequest
**Related endpoints**
- [`PATCH /oauth2/applications/{id}`](/api-reference/oauth2/update-application)
| Field | Type | Description |
|-------|------|-------------|
| bot_public? | boolean | Whether the bot can be invited by anyone |
| bot_require_code_grant? | boolean | Whether the bot requires OAuth2 code grant |
| name? | string | The name of the application |
| redirect_uris? | ?[OAuth2RedirectURIUpdateType](#oauth2redirecturiupdatetype)[] | The redirect URIs for OAuth2 flows |
<a id="authorizeconsentrequest"></a>
## AuthorizeConsentRequest
**Related endpoints**
- [`POST /oauth2/authorize/consent`](/api-reference/oauth2/grant-oauth2-consent)
| Field | Type | Description |
|-------|------|-------------|
| client_id | [SnowflakeType](#snowflaketype) | |
| guild_id? | [SnowflakeType](#snowflaketype) | |
| permissions? | string | The bot permissions to request |
| redirect_uri? | string | The URI to redirect to after authorization |
| response_type? | string | The OAuth2 response type |
| scope | string | The space-separated list of requested scopes |
| state? | string | A random string for CSRF protection |
<a id="botflags"></a>
## BotFlags
The bot user flags
Type: Bitflags32
| Flag | Value | Description |
|------|-------|-------------|
| FRIENDLY_BOT | `16` | Bot accepts friend requests from users |
| FRIENDLY_BOT_MANUAL_APPROVAL | `32` | Bot requires manual approval for friend requests |
<a id="botprofileresponse"></a>
## BotProfileResponse
**Related endpoints**
- [`PATCH /oauth2/applications/{id}/bot`](/api-reference/oauth2/update-bot-profile)
| Field | Type | Description |
|-------|------|-------------|
| avatar | ?string | The avatar hash of the bot |
| banner | ?string | The banner hash of the bot |
| bio | ?string | The bio or description of the bot |
| discriminator | string | The discriminator of the bot |
| id | [SnowflakeType](#snowflaketype) | The unique identifier of the bot user |
| username | string | The username of the bot |
<a id="botprofileupdaterequest"></a>
## BotProfileUpdateRequest
**Related endpoints**
- [`PATCH /oauth2/applications/{id}/bot`](/api-reference/oauth2/update-bot-profile)
| Field | Type | Description |
|-------|------|-------------|
| avatar? | ?[Base64ImageType](#base64imagetype) | The avatar image as base64 |
| banner? | ?[Base64ImageType](#base64imagetype) | The banner image as base64 |
| bio? | ?string | The bio or description of the bot |
| bot_flags? | [BotFlags](#botflags) | |
| discriminator? | string | The discriminator of the bot |
| username? | [UsernameType](#usernametype) | |
<a id="bottokenresetresponse"></a>
## BotTokenResetResponse
**Related endpoints**
- [`POST /oauth2/applications/{id}/bot/reset-token`](/api-reference/oauth2/reset-bot-token)
| Field | Type | Description |
|-------|------|-------------|
| bot | [ApplicationBotResponse](#applicationbotresponse) | |
| token | string | The new bot token |
<a id="introspectrequestform"></a>
## IntrospectRequestForm
**Related endpoints**
- [`POST /oauth2/introspect`](/api-reference/oauth2/introspect-oauth2-token)
| Field | Type | Description |
|-------|------|-------------|
| client_id? | [SnowflakeType](#snowflaketype) | |
| client_secret? | string | The application client secret |
| token | string | The token to introspect |
<a id="oauth2authorizationresponse"></a>
## OAuth2AuthorizationResponse
| Field | Type | Description |
|-------|------|-------------|
| application | [OAuth2AuthorizationResponseApplication](#oauth2authorizationresponseapplication) | The application that was authorized |
| authorized_at | string | The timestamp when the authorization was granted |
| scopes | string[] | The list of granted OAuth2 scopes |
<a id="oauth2authorizationslistresponse"></a>
## OAuth2AuthorizationsListResponse
**Related endpoints**
- [`GET /oauth2/@me/authorizations`](/api-reference/oauth2/list-user-oauth2-authorizations)
Type: [OAuth2AuthorizationResponse](#oauth2authorizationresponse)[]
<a id="oauth2consentresponse"></a>
## OAuth2ConsentResponse
**Related endpoints**
- [`POST /oauth2/authorize/consent`](/api-reference/oauth2/grant-oauth2-consent)
| Field | Type | Description |
|-------|------|-------------|
| redirect_to | string | The URL to redirect the user to after consent |
<a id="oauth2introspectresponse"></a>
## OAuth2IntrospectResponse
**Related endpoints**
- [`POST /oauth2/introspect`](/api-reference/oauth2/introspect-oauth2-token)
| Field | Type | Description |
|-------|------|-------------|
| active | boolean | Whether the token is currently active |
| client_id? | [SnowflakeType](#snowflaketype) | |
| exp? | [Int32Type](#int32type) | |
| iat? | [Int32Type](#int32type) | |
| scope? | string | The space-separated list of scopes |
| sub? | [SnowflakeType](#snowflaketype) | |
| token_type? | string | The type of token |
| username? | string | The username of the token owner |
<a id="oauth2meresponse"></a>
## OAuth2MeResponse
**Related endpoints**
- [`GET /oauth2/@me`](/api-reference/oauth2/get-current-oauth2-user)
| Field | Type | Description |
|-------|------|-------------|
| application | [OAuth2MeResponseApplication](#oauth2meresponseapplication) | The application associated with the token |
| expires | string | The expiration timestamp of the token |
| scopes | string[] | The list of granted OAuth2 scopes |
| user? | [OAuth2MeResponseUser](#oauth2meresponseuser) | The user associated with the token |
<a id="oauth2redirecturicreatetype"></a>
## OAuth2RedirectURICreateType
Type: string
<a id="oauth2redirecturiupdatetype"></a>
## OAuth2RedirectURIUpdateType
Type: string
<a id="oauth2tokenresponse"></a>
## OAuth2TokenResponse
**Related endpoints**
- [`POST /oauth2/token`](/api-reference/oauth2/exchange-oauth2-token)
| Field | Type | Description |
|-------|------|-------------|
| access_token | string | The access token for API authorization |
| expires_in | integer (int32) | The number of seconds until the access token expires |
| refresh_token | string | The refresh token for obtaining new access tokens |
| scope | string | The space-separated list of granted scopes |
| token_type | string | The type of token, typically "Bearer" |
<a id="oauth2userinforesponse"></a>
## OAuth2UserInfoResponse
**Related endpoints**
- [`GET /oauth2/userinfo`](/api-reference/oauth2/get-oauth2-user-information)
| Field | Type | Description |
|-------|------|-------------|
| avatar | ?string | The avatar hash of the user |
| discriminator | string | The discriminator of the user |
| email? | ?string | The email address of the user |
| flags? | [PublicUserFlags](#publicuserflags) | |
| global_name | ?string | The global display name of the user |
| id | [SnowflakeType](#snowflaketype) | The unique identifier of the user |
| sub | [SnowflakeType](#snowflaketype) | The subject identifier of the user |
| username | string | The username of the user |
| verified? | ?boolean | Whether the user has verified their email |
<a id="revokerequestform"></a>
## RevokeRequestForm
**Related endpoints**
- [`POST /oauth2/token/revoke`](/api-reference/oauth2/revoke-oauth2-token)
| Field | Type | Description |
|-------|------|-------------|
| client_id? | [SnowflakeType](#snowflaketype) | |
| client_secret? | string | The application client secret |
| token | string | The token to revoke |
| token_type_hint? | [RevokeRequestFormTokenTypeHint](#revokerequestformtokentypehint) | A hint about the type of token being revoked |
<a id="tokenrequest"></a>
## TokenRequest
**Related endpoints**
- [`POST /oauth2/token`](/api-reference/oauth2/exchange-oauth2-token)
Type: [TokenRequestOneOf0](#tokenrequestoneof0) \| [TokenRequestOneOf1](#tokenrequestoneof1)
<a id="revokerequestformtokentypehint"></a>
## RevokeRequestFormTokenTypeHint
A hint about the type of token being revoked
| Value | Description |
|-------|-------------|
| `access_token` | An OAuth2 access token |
| `refresh_token` | An OAuth2 refresh token |
<a id="oauth2authorizationresponseapplication"></a>
## OAuth2AuthorizationResponseApplication
The application that was authorized
| Field | Type | Description |
|-------|------|-------------|
| bot_public | boolean | Whether the bot can be invited by anyone |
| description | ?string | The description of the application |
| icon | ?string | The icon hash of the application |
| id | [SnowflakeType](#snowflaketype) | The unique identifier of the application |
| name | string | The name of the application |
<a id="oauth2meresponseapplication"></a>
## OAuth2MeResponseApplication
The application associated with the token
| Field | Type | Description |
|-------|------|-------------|
| bot_public | boolean | Whether the bot can be invited by anyone |
| bot_require_code_grant | boolean | Whether the bot requires OAuth2 code grant |
| description | ?string | The description of the application |
| flags | [ApplicationFlags](#applicationflags) | |
| icon | ?string | The icon hash of the application |
| id | [SnowflakeType](#snowflaketype) | The unique identifier of the application |
| name | string | The name of the application |
<a id="oauth2meresponseuser"></a>
## OAuth2MeResponseUser
The user associated with the token
| Field | Type | Description |
|-------|------|-------------|
| avatar | ?string | The avatar hash of the user |
| avatar_color | ?[Int32Type](#int32type) | The default avatar color of the user |
| bot? | boolean | Whether the user is a bot |
| discriminator | string | The discriminator of the user |
| email? | ?string | The email address of the user |
| flags | [PublicUserFlags](#publicuserflags) | |
| global_name | ?string | The global display name of the user |
| id | [SnowflakeType](#snowflaketype) | The unique identifier of the user |
| system? | boolean | Whether the user is a system user |
| username | string | The username of the user |
| verified? | ?boolean | Whether the user has verified their email |
<a id="tokenrequestoneof0"></a>
## TokenRequestOneOf0
| Field | Type | Description |
|-------|------|-------------|
| client_id? | [SnowflakeType](#snowflaketype) | |
| client_secret? | string | The application client secret |
| code | string | The authorization code received from the authorize endpoint |
| grant_type | enum&lt;`authorization_code`&gt; | The grant type for exchanging an authorization code |
| redirect_uri | string | The redirect URI used in the authorization request |
<a id="tokenrequestoneof1"></a>
## TokenRequestOneOf1
| Field | Type | Description |
|-------|------|-------------|
| client_id? | [SnowflakeType](#snowflaketype) | |
| client_secret? | string | The application client secret |
| grant_type | enum&lt;`refresh_token`&gt; | The grant type for refreshing an access token |
| refresh_token | string | The refresh token to exchange for a new access token |