get
/.well-known/fluxerGet instance discovery document
Returns the instance discovery document including API endpoints, feature flags, and limits. This is the canonical discovery endpoint for all Fluxer clients.
get_well_known_fluxer
Responses
200
Success
json
{
"type": "object",
"properties": {
"api_code_version": {
"type": "integer",
"format": "int53",
"description": "Version of the API server code"
},
"endpoints": {
"type": "object",
"properties": {
"api": {
"type": "string",
"description": "Base URL for authenticated API requests"
},
"api_client": {
"type": "string",
"description": "Base URL for client API requests"
},
"api_public": {
"type": "string",
"description": "Base URL for public API requests"
},
"gateway": {
"type": "string",
"description": "WebSocket URL for the gateway"
},
"media": {
"type": "string",
"description": "Base URL for the media proxy"
},
"static_cdn": {
"type": "string",
"description": "Base URL for static assets (avatars, emojis, etc.)"
},
"marketing": {
"type": "string",
"description": "Base URL for the marketing website"
},
"admin": {
"type": "string",
"description": "Base URL for the admin panel"
},
"invite": {
"type": "string",
"description": "Base URL for invite links"
},
"gift": {
"type": "string",
"description": "Base URL for gift links"
},
"webapp": {
"type": "string",
"description": "Base URL for the web application"
}
},
"required": [
"api",
"api_client",
"api_public",
"gateway",
"media",
"static_cdn",
"marketing",
"admin",
"invite",
"gift",
"webapp"
],
"description": "Endpoint URLs for various services"
},
"captcha": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"description": "Captcha provider name (hcaptcha, turnstile, none)"
},
"hcaptcha_site_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "hCaptcha site key if using hCaptcha"
},
"turnstile_site_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Cloudflare Turnstile site key if using Turnstile"
}
},
"required": [
"provider",
"hcaptcha_site_key",
"turnstile_site_key"
],
"description": "Captcha configuration"
},
"features": {
"type": "object",
"properties": {
"voice_enabled": {
"type": "boolean",
"description": "Whether voice/video calling is enabled"
},
"stripe_enabled": {
"type": "boolean",
"description": "Whether Stripe payments are enabled"
},
"self_hosted": {
"type": "boolean",
"description": "Whether this is a self-hosted instance"
},
"presigned_attachment_uploads": {
"type": "boolean",
"description": "Whether clients can request presigned attachment upload URLs"
},
"emails_enabled": {
"type": "boolean",
"description": "Whether the instance sends emails (verification, password reset, etc.)"
}
},
"required": [
"voice_enabled",
"stripe_enabled",
"self_hosted",
"presigned_attachment_uploads",
"emails_enabled"
],
"description": "Feature flags for this instance"
},
"gif": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"description": "Stable machine name of the active GIF provider."
},
"display_name": {
"type": "string",
"description": "Human-readable provider name shown in the UI"
},
"attribution_required": {
"type": "boolean",
"description": "Whether the client must show a \"Powered by …\" watermark for this provider"
}
},
"required": [
"provider",
"display_name",
"attribution_required"
],
"description": "GIF provider configuration for clients"
},
"sso": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether SSO is enabled for this instance"
},
"enforced": {
"type": "boolean",
"description": "Whether SSO is required for all users"
},
"display_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Display name of the SSO provider"
},
"redirect_uri": {
"type": "string",
"description": "OAuth redirect URI for SSO"
}
},
"required": [
"enabled",
"enforced",
"display_name",
"redirect_uri"
],
"description": "Single sign-on configuration"
},
"registration": {
"type": "object",
"properties": {
"mode": {
"enum": [
"open",
"approval",
"closed"
],
"type": "string",
"x-enumNames": [
"open",
"approval",
"closed"
],
"description": "Public registration mode for this instance"
},
"admin_registration_urls_enabled": {
"type": "boolean",
"description": "Whether admin-issued registration URLs are accepted"
}
},
"required": [
"mode",
"admin_registration_urls_enabled"
],
"description": "Registration policy for this instance"
},
"community": {
"type": "object",
"properties": {
"single_community": {
"type": "boolean",
"description": "Whether this instance runs as a single community that every user automatically joins"
},
"single_community_guild_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The stock community guild ID when single-community mode is enabled"
},
"direct_messages_disabled": {
"type": "boolean",
"description": "Whether direct messages and friend requests are disabled instance-wide"
}
},
"required": [
"single_community",
"single_community_guild_id",
"direct_messages_disabled"
],
"description": "Community topology and direct-message policy for this instance"
},
"services": {
"type": "object",
"properties": {
"gif_enabled": {
"type": "boolean",
"description": "Whether the GIF picker is enabled for this instance"
},
"youtube_enabled": {
"type": "boolean",
"description": "Whether YouTube link enrichment is enabled for this instance"
},
"bluesky_enabled": {
"type": "boolean",
"description": "Whether Bluesky profile connections are enabled for this instance"
}
},
"required": [
"gif_enabled",
"youtube_enabled",
"bluesky_enabled"
],
"description": "Optional third-party service integrations enabled for this instance"
},
"limits": {
"type": "object",
"properties": {
"version": {
"type": "integer",
"enum": [
2
],
"description": "Wire format version"
},
"traitDefinitions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Available trait definitions (e.g., \"premium\")"
},
"rules": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for this limit rule"
},
"filters": {
"type": "object",
"properties": {
"traits": {
"type": "array",
"items": {
"type": "string"
},
"description": "Trait filters for this limit rule"
},
"guildFeatures": {
"type": "array",
"items": {
"type": "string"
},
"description": "Guild feature filters for this limit rule"
}
},
"description": "Filters that determine when this rule applies"
},
"overrides": {
"type": "object",
"additionalProperties": {
"type": "number"
},
"description": "Map of limit keys to their override values (differences from defaults)"
}
},
"required": [
"id",
"overrides"
]
},
"description": "Array of limit rules to evaluate"
},
"defaultsHash": {
"type": "string",
"description": "Hash of the default limit values for cache invalidation"
}
},
"required": [
"version",
"traitDefinitions",
"rules",
"defaultsHash"
],
"description": "Limit configuration with rules and trait definitions"
},
"push": {
"type": "object",
"properties": {
"public_vapid_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "VAPID public key for web push notifications"
}
},
"required": [
"public_vapid_key"
],
"description": "Push notification configuration"
},
"app_public": {
"type": "object",
"properties": {
"branding": {
"type": "object",
"properties": {
"product_name": {
"type": "string",
"description": "Public product name shown by client applications"
},
"icon_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optional image URL for the full application icon"
},
"symbol_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optional image URL for the compact application symbol"
},
"logo_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optional image URL for the application logo"
},
"wordmark_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optional image URL for the application wordmark"
},
"favicon_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optional favicon URL for browser metadata"
},
"theme_color": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optional browser theme color"
}
},
"required": [
"product_name",
"icon_url",
"symbol_url",
"logo_url",
"wordmark_url",
"favicon_url",
"theme_color"
],
"description": "Branding values safe to expose to clients"
},
"setup": {
"type": "object",
"properties": {
"configured": {
"type": "boolean",
"description": "Whether the instance administrator has completed initial setup"
},
"admin_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Admin panel URL to continue instance setup"
}
},
"required": [
"configured",
"admin_url"
],
"description": "Initial setup state for self-hosted instances"
},
"legal": {
"type": "object",
"properties": {
"terms_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optional public terms of service URL for account registration"
},
"privacy_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optional public privacy policy URL for account registration"
}
},
"required": [
"terms_url",
"privacy_url"
],
"description": "Optional legal document URLs shown during public registration"
},
"registration": {
"type": "object",
"properties": {
"collect_date_of_birth": {
"type": "boolean",
"description": "Whether public registration collects and validates date of birth"
}
},
"required": [
"collect_date_of_birth"
],
"description": "Public registration field collection policy"
}
},
"required": [
"branding",
"setup",
"legal",
"registration"
],
"description": "Public application configuration for client-side features"
}
},
"required": [
"api_code_version",
"endpoints",
"captcha",
"features",
"gif",
"sso",
"registration",
"community",
"services",
"limits",
"push",
"app_public"
]
}400
Bad Request - The request was malformed or contained invalid data
json
{
"type": "object",
"properties": {
"code": {
"$ref": "#/components/schemas/APIErrorCode"
},
"message": {
"type": "string",
"description": "Human-readable error message"
},
"errors": {
"type": "array",
"description": "Field-specific validation errors",
"items": {
"$ref": "#/components/schemas/ValidationErrorItem"
}
}
},
"required": [
"code",
"message"
]
}429
Too Many Requests - You are being rate limited
json
{
"type": "object",
"properties": {
"code": {
"type": "string",
"enum": [
"RATE_LIMITED"
]
},
"message": {
"type": "string"
},
"retry_after": {
"type": "number",
"description": "Seconds to wait before retrying"
},
"global": {
"type": "boolean",
"description": "Whether this is a global rate limit"
}
},
"required": [
"code",
"message",
"retry_after"
]
}500
Internal Server Error - An unexpected error occurred
json
{
"type": "object",
"properties": {
"code": {
"$ref": "#/components/schemas/APIErrorCode"
},
"message": {
"type": "string",
"description": "Human-readable error message"
},
"errors": {
"type": "array",
"description": "Field-specific validation errors",
"items": {
"$ref": "#/components/schemas/ValidationErrorItem"
}
}
},
"required": [
"code",
"message"
]
}