Skip to main content
Guilds that have Server Member Applications set up with manual approval require prospective members to submit a join request. A join request contains the applicant’s answers to the guild’s member verification form, and stays pending until a moderator approves or rejects it. While a join request is pending, the applicant may already have a guild member object with pending set to true, depending on whether the guild has PREVIEW_ENABLED. When a request is approved, the member’s pending field becomes false and a Guild Member Update Gateway event is fired.
The endpoints on this page are only available for guilds with both the MEMBER_VERIFICATION_GATE_ENABLED and MEMBER_VERIFICATION_MANUAL_APPROVAL features. Other guilds receive a 403 Forbidden response.
Apps can also follow join requests in real time using the Guild Join Request Create, Guild Join Request Update, and Guild Join Request Delete Gateway events, which require the GUILD_MODERATION intent and the KICK_MEMBERS permission.

Guild Join Request Object

Guild Join Request Structure
Application Status
Example Guild Join Request

Form Field Response Object

Each entry in a join request’s form_responses array represents one field on the guild’s member verification form, along with the applicant’s answer to it. The fields present on an entry depend on its field_type.
Form Field Response Structure
These fields are present on every form field response.
Form Field Type
Terms Form Field Response Extra Fields
Text Input and Paragraph Form Field Response Extra Fields
Multiple Choice Form Field Response Extra Fields
Example Form Field Responses

List Guild Join Requests

Returns a list of guild join request objects for the guild. Requires the KICK_MEMBERS or MANAGE_GUILD permission.
The guild_join_requests array is only returned to apps with the KICK_MEMBERS permission. Apps that only have MANAGE_GUILD receive the count of pending join requests without the requests themselves.
Results are always filtered to a single application status. Omitting status returns the default SUBMITTED join requests.
Query String Params
* Provide a snowflake to before or after for pagination. For SUBMITTED join requests, the value is compared against the request’s id, and requests are returned in descending order by id. For APPROVED and REJECTED join requests, the value is compared against when the request was reviewed. If both before and after are provided, only after is respected.
Response Structure
Example Response

Action Guild Join Request

Approve or reject a join request. Requires the KICK_MEMBERS permission. Returns the updated guild join request object on success. Fires a Guild Join Request Update Gateway event, and a Guild Member Update Gateway event when the request is approved. Only join requests with an application_status of SUBMITTED can be actioned. Requests that have already been approved or rejected are returned unchanged, and requests in any other status return a 404 Not Found response.
JSON Params