diff --git a/fluxer_docs/api-reference/openapi.json b/fluxer_docs/api-reference/openapi.json
index 5e095616..0b0dcbc2 100644
--- a/fluxer_docs/api-reference/openapi.json
+++ b/fluxer_docs/api-reference/openapi.json
@@ -13609,6 +13609,141 @@
]
}
},
+ "/admin/users/resend-verification-email": {
+ "post": {
+ "operationId": "admin_resend_verification_email",
+ "summary": "Resend verification email",
+ "tags": [
+ "Admin"
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "400": {
+ "description": "Bad Request - The request was malformed or contained invalid data",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized - Authentication is required or the token is invalid",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden - You do not have permission to perform this action",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests - You are being rate limited",
+ "content": {
+ "application/json": {
+ "schema": {
+ "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"
+ ]
+ }
+ }
+ },
+ "headers": {
+ "Retry-After": {
+ "description": "Number of seconds to wait before retrying (only on 429)",
+ "schema": {
+ "type": "integer"
+ }
+ },
+ "X-RateLimit-Limit": {
+ "description": "The number of requests that can be made in the current window",
+ "schema": {
+ "type": "integer"
+ }
+ },
+ "X-RateLimit-Remaining": {
+ "description": "The number of remaining requests that can be made",
+ "schema": {
+ "type": "integer"
+ }
+ },
+ "X-RateLimit-Reset": {
+ "description": "Unix timestamp when the rate limit resets",
+ "schema": {
+ "type": "integer"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal Server Error - An unexpected error occurred",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ }
+ }
+ },
+ "x-mint": {
+ "metadata": {
+ "title": "Resend verification email"
+ }
+ },
+ "description": "Resend the account verification email for a user. Creates audit log entry and honours email verification resend limits. Requires USER_UPDATE_EMAIL permission.",
+ "security": [
+ {
+ "adminApiKey": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResendVerificationEmailRequest"
+ }
+ }
+ }
+ }
+ }
+ },
"/admin/users/schedule-deletion": {
"post": {
"operationId": "schedule_account_deletion",
@@ -67771,6 +67906,17 @@
"user"
]
},
+ "ResendVerificationEmailRequest": {
+ "type": "object",
+ "properties": {
+ "user_id": {
+ "$ref": "#/components/schemas/SnowflakeType"
+ }
+ },
+ "required": [
+ "user_id"
+ ]
+ },
"ScheduleAccountDeletionRequest": {
"type": "object",
"properties": {
diff --git a/fluxer_docs/resources/admin.mdx b/fluxer_docs/resources/admin.mdx
index 6e6879a1..e0519613 100644
--- a/fluxer_docs/resources/admin.mdx
+++ b/fluxer_docs/resources/admin.mdx
@@ -872,6 +872,7 @@ description: 'Admin object schemas from the Fluxer API.'
- [`POST /admin/users/list-sessions`](/api-reference/admin/list-user-sessions)
- [`POST /admin/users/list-webauthn-credentials`](/api-reference/admin/list-user-webauthn-credentials)
- [`POST /admin/users/lookup`](/api-reference/admin/lookup-user)
+- [`POST /admin/users/resend-verification-email`](/api-reference/admin/resend-verification-email)
- [`POST /admin/users/schedule-deletion`](/api-reference/admin/schedule-account-deletion)
- [`POST /admin/users/search`](/api-reference/admin/search-users)
- [`POST /admin/users/send-password-reset`](/api-reference/admin/send-password-reset)
@@ -2170,6 +2171,18 @@ Type: [MessageShredStatusNotFoundResponse](#messageshredstatusnotfoundresponse)
| resolved_by_admin_id | ?[SnowflakeType](#snowflaketype) | |
| status | [ReportStatus](#reportstatus) | |
+
+
+## ResendVerificationEmailRequest
+
+**Related endpoints**
+
+- [`POST /admin/users/resend-verification-email`](/api-reference/admin/resend-verification-email)
+
+| Field | Type | Description |
+|-------|------|-------------|
+| user_id | [SnowflakeType](#snowflaketype) | |
+
## ReserveVisionarySlotRequest
diff --git a/fluxer_docs/resources/overview.mdx b/fluxer_docs/resources/overview.mdx
index 27d1e3e7..9d79fbc0 100644
--- a/fluxer_docs/resources/overview.mdx
+++ b/fluxer_docs/resources/overview.mdx
@@ -18,7 +18,7 @@ Resource tables use a compact notation:
## Resources by domain
-- [Admin](/resources/admin) (172 schemas)
+- [Admin](/resources/admin) (173 schemas)
- [Auth](/resources/auth) (37 schemas)
- [Billing](/resources/billing) (3 schemas)
- [Channels](/resources/channels) (71 schemas)
@@ -454,6 +454,7 @@ Resource tables use a compact notation:
- [ReportStatus](/resources/common#reportstatus)
- [ReportType](/resources/common#reporttype)
- [ReportUserRequest](/resources/reports#reportuserrequest)
+- [ResendVerificationEmailRequest](/resources/admin#resendverificationemailrequest)
- [ReserveVisionarySlotRequest](/resources/admin#reservevisionaryslotrequest)
- [ResetPasswordRequest](/resources/auth#resetpasswordrequest)
- [ResolveReportRequest](/resources/admin#resolvereportrequest)