> ## 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.

# Invite To Group

> Invites a player to join a group

## Error codes

This operation may return the following PlayFab errors:

| Error | Code |
| --- | --- |
| EntityBlockedByGroup | 1357 |
| EntityIsAlreadyMember | 1359 |
| OutstandingApplicationAcceptedInstead | 1364 |
| RoleDoesNotExist | 1358 |




## OpenAPI

````yaml /services/playfab/api-references/rest/groups/groups.openapi.json post /Group/InviteToGroup
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/InviteToGroup:
    post:
      tags:
        - Groups
      summary: Invite To Group
      description: |
        Invites a player to join a group

        ## Error codes

        This operation may return the following PlayFab errors:

        | Error | Code |
        | --- | --- |
        | EntityBlockedByGroup | 1357 |
        | EntityIsAlreadyMember | 1359 |
        | OutstandingApplicationAcceptedInstead | 1364 |
        | RoleDoesNotExist | 1358 |
      operationId: InviteToGroup
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InviteToGroupRequest'
        description: >-
          Invites a player to join a group, if they are not blocked by the
          group. An optional role can be provided to automatically assign the
          player to the role if they accept the invitation. By default, if the
          entity has an application to the group outstanding, this will accept
          the application instead and return an error indicating such, rather
          than creating a duplicate invitation to join that will need to be
          cleaned up later. Returns information about the new invitation or an
          error indicating an existing application to join was accepted.
      responses:
        '200':
          $ref: '#/components/responses/InviteToGroupResponse'
        '400':
          $ref: '#/components/responses/ApiErrorWrapper'
      security:
        - EntityToken: []
components:
  schemas:
    InviteToGroupRequest:
      description: >-
        Invites a player to join a group, if they are not blocked by the group.
        An optional role can be provided to automatically assign the player to
        the role if they accept the invitation. By default, if the entity has an
        application to the group outstanding, this will accept the application
        instead and return an error indicating such, rather than creating a
        duplicate invitation to join that will need to be cleaned up later.
        Returns information about the new invitation or an error indicating an
        existing application to join was accepted.
      type: object
      properties:
        AutoAcceptOutstandingApplication:
          description: >-
            Optional, default true. Automatically accept an application if one
            exists instead of creating an invitation
          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 entity to perform this action on.
        Group:
          allOf:
            - $ref: '#/components/schemas/EntityKey'
          description: The identifier of the group
        RoleId:
          description: >-
            Optional. ID of an existing a role in the group to assign the user
            to. The group's default member role is used if this is not
            specified. Role IDs must be between 1 and 64 characters long.
          type: string
      required:
        - Group
        - Entity
      example:
        Group:
          Id: ABC1234ABC
        RoleId: awesomepeople
        Entity:
          Id: '90901000'
          Type: title_player_account
          TypeString: title_player_account
    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
    InviteToGroupResponse:
      description: Describes an invitation to a group.
      type: object
      properties:
        Expires:
          description: When the invitation will expire and be deleted
          type: string
        Group:
          allOf:
            - $ref: '#/components/schemas/EntityKey'
          description: The group that the entity invited to
        InvitedByEntity:
          allOf:
            - $ref: '#/components/schemas/EntityWithLineage'
          description: The entity that created the invitation
        InvitedEntity:
          allOf:
            - $ref: '#/components/schemas/EntityWithLineage'
          description: The entity that is invited
        RoleId:
          description: ID of the role in the group to assign the user to.
          type: string
      required:
        - Expires
      example:
        InvitedEntity:
          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
        Group:
          Id: ABC1234ABC
        InvitedByEntity:
          Key:
            Id: 9023AFF3
            Type: title_player_account
            TypeString: title_player_account
          Lineage:
            master_player_account:
              Id: 366AD424
              Type: master_player_account
              TypeString: master_player_account
        RoleId: awesomepeople
        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:
    InviteToGroupResponse:
      description: Describes an invitation to 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/InviteToGroupResponse'
            example:
              code: 200
              status: OK
              data:
                InvitedEntity:
                  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
                Group:
                  Id: ABC1234ABC
                InvitedByEntity:
                  Key:
                    Id: 9023AFF3
                    Type: title_player_account
                    TypeString: title_player_account
                  Lineage:
                    master_player_account:
                      Id: 366AD424
                      Type: master_player_account
                      TypeString: master_player_account
                RoleId: awesomepeople
                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

- [Invite To Group](/services/playfab/api-references/rest/groups/groups/invite-to-group.md)
- [PFGroupsInviteToGroupRequest](/services/playfab/api-references/c/pfgroupstypes/structs/pfgroupsinvitetogrouprequest.md)
- [PFGroupsInviteToGroupResponse](/services/playfab/api-references/c/pfgroupstypes/structs/pfgroupsinvitetogroupresponse.md)
- [PFGroupsInviteToGroupAsync](/services/playfab/api-references/c/pfgroups/functions/pfgroupsinvitetogroupasync.md)
- [PFGroupsInviteToGroupGetResult](/services/playfab/api-references/c/pfgroups/functions/pfgroupsinvitetogroupgetresult.md)
