> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Apply To Group

> Applies to join a group

## Error codes

This operation may return the following PlayFab errors:

| Error | Code |
| --- | --- |
| EntityBlockedByGroup | 1357 |
| EntityIsAlreadyMember | 1359 |
| OutstandingInvitationAcceptedInstead | 1363 |
| RoleDoesNotExist | 1358 |




## OpenAPI

````yaml /services/playfab/api-references/rest/groups/groups.openapi.json post /Group/ApplyToGroup
openapi: 3.0.0
info:
  version: '260922'
  title: PlayFab Groups API
  description: >-
    The Groups API is designed for any permanent or semi-permanent collections
    of Entities (players, or non-players). If you want to make
    Guilds/Clans/Corporations/etc., then you should use groups. Groups can also
    be used to make chatrooms, parties, or any other persistent collection of
    entities.
  termsOfService: https://playfab.com/terms/
  contact:
    url: https://community.playfab.com/index.html
  license:
    name: Apache 2.0
    url: https://github.com/PlayFab/API_Specs/blob/master/LICENSE
servers:
  - url: https://{titleId}.playfabapi.com
    description: PlayFab title endpoint
    variables:
      titleId:
        default: your_title_id
        description: Your PlayFab title ID (hex).
security: []
tags:
  - name: Groups
    description: Groups Management APIs
paths:
  /Group/ApplyToGroup:
    post:
      tags:
        - Groups
      summary: Apply To Group
      description: |
        Applies to join a group

        ## Error codes

        This operation may return the following PlayFab errors:

        | Error | Code |
        | --- | --- |
        | EntityBlockedByGroup | 1357 |
        | EntityIsAlreadyMember | 1359 |
        | OutstandingInvitationAcceptedInstead | 1363 |
        | RoleDoesNotExist | 1358 |
      operationId: ApplyToGroup
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplyToGroupRequest'
        description: >-
          Creates an application to join a group. Calling this while a group
          application already exists will return the same application instead of
          an error and will not refresh the time before the application expires.
          By default, if the entity has an invitation to join the group
          outstanding, this will accept the invitation to join the group instead
          and return an error indicating such, rather than creating a duplicate
          application to join that will need to be cleaned up later. Returns
          information about the application or an error indicating an invitation
          was accepted instead.
      responses:
        '200':
          $ref: '#/components/responses/ApplyToGroupResponse'
        '400':
          $ref: '#/components/responses/ApiErrorWrapper'
      security:
        - EntityToken: []
components:
  schemas:
    ApplyToGroupRequest:
      description: >-
        Creates an application to join a group. Calling this while a group
        application already exists will return the same application instead of
        an error and will not refresh the time before the application expires.
        By default, if the entity has an invitation to join the group
        outstanding, this will accept the invitation to join the group instead
        and return an error indicating such, rather than creating a duplicate
        application to join that will need to be cleaned up later. Returns
        information about the application or an error indicating an invitation
        was accepted instead.
      type: object
      properties:
        AutoAcceptOutstandingInvite:
          description: >-
            Optional, default true. Automatically accept an outstanding
            invitation if one exists instead of creating an application
          type: boolean
        CustomTags:
          description: >-
            The optional custom tags associated with the request (e.g. build
            number, external trace identifiers, etc.).
          type: object
        Entity:
          allOf:
            - $ref: '#/components/schemas/EntityKey'
          description: >-
            The optional entity to perform this action on. Defaults to the
            currently logged in entity.
        Group:
          allOf:
            - $ref: '#/components/schemas/EntityKey'
          description: The identifier of the group
      required:
        - Group
      example:
        Group:
          Id: ABC1234ABC
    EntityKey:
      description: >-
        Combined entity type and ID structure which uniquely identifies a single
        entity.
      type: object
      properties:
        Id:
          description: Unique ID of the entity.
          type: string
        Type:
          description: >-
            Entity type. See
            https://learn.microsoft.com/gaming/playfab/features/data/entities/available-built-in-entity-types
          type: string
      required:
        - Id
    ApplyToGroupResponse:
      description: Describes an application to join a group
      type: object
      properties:
        Entity:
          allOf:
            - $ref: '#/components/schemas/EntityWithLineage'
          description: Type of entity that requested membership
        Expires:
          description: When the application to join will expire and be deleted
          type: string
        Group:
          allOf:
            - $ref: '#/components/schemas/EntityKey'
          description: ID of the group that the entity requesting membership to
      required:
        - Expires
      example:
        Group:
          Id: ABC1234ABC
        Entity:
          Key:
            Id: '90901000'
            Type: title_player_account
            TypeString: title_player_account
          Lineage:
            master_player_account:
              Id: 800DED92
              Type: master_player_account
              TypeString: master_player_account
        Expires: '2017-12-31T11:59:59'
    ApiErrorWrapper:
      description: The basic wrapper around every failed API response
      type: object
      properties:
        code:
          description: Numerical HTTP code
          type: integer
        status:
          description: String HTTP code
          type: string
        error:
          description: Playfab error code
          type: string
        errorCode:
          description: Numerical PlayFab error code
          type: integer
        errorMessage:
          description: Description for the PlayFab errorCode
          type: string
        errorDetails:
          description: Detailed description of individual issues with the request object
          type: object
      required:
        - code
        - errorCode
    EntityWithLineage:
      description: >-
        Entity wrapper class that contains the entity key and the entities that
        make up the lineage of the entity.
      type: object
      properties:
        Key:
          allOf:
            - $ref: '#/components/schemas/EntityKey'
          description: The entity key for the specified entity
        Lineage:
          allOf:
            - $ref: '#/components/schemas/EntityKey'
          description: >-
            Dictionary of entity keys for related entities. Dictionary key is
            entity type.
  responses:
    ApplyToGroupResponse:
      description: Describes an application to join a group
      content:
        application/json:
          schema:
            type: object
            properties:
              code:
                type: integer
                description: >-
                  The Http status code. If X-ReportErrorAsSuccess header is set
                  to true, this will report the actual http error code.
              status:
                type: string
                description: The Http status code as a string.
              data:
                $ref: '#/components/schemas/ApplyToGroupResponse'
            example:
              code: 200
              status: OK
              data:
                Group:
                  Id: ABC1234ABC
                Entity:
                  Key:
                    Id: '90901000'
                    Type: title_player_account
                    TypeString: title_player_account
                  Lineage:
                    master_player_account:
                      Id: 800DED92
                      Type: master_player_account
                      TypeString: master_player_account
                Expires: '2017-12-31T11:59:59'
    ApiErrorWrapper:
      description: This is the outer wrapper for all responses with errors
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorWrapper'
  securitySchemes:
    EntityToken:
      type: apiKey
      in: header
      name: X-EntityToken
      description: >-
        This API requires an Entity Session Token, available from the Entity
        GetEntityToken method.

````

## Related topics

- [Apply To Group](/services/playfab/api-references/rest/groups/groups/apply-to-group.md)
- [PFGroupsApplyToGroupResponse](/services/playfab/api-references/c/pfgroupstypes/structs/pfgroupsapplytogroupresponse.md)
- [PFGroupsApplyToGroupAsync](/services/playfab/api-references/c/pfgroups/functions/pfgroupsapplytogroupasync.md)
- [PFGroupsApplyToGroupRequest](/services/playfab/api-references/c/pfgroupstypes/structs/pfgroupsapplytogrouprequest.md)
- [PFGroupsApplyToGroupGetResult](/services/playfab/api-references/c/pfgroups/functions/pfgroupsapplytogroupgetresult.md)
