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

# Ban Users

> Bans users by PlayFab ID with optional IP address for the provided game.

## Error codes

This operation may return the following PlayFab errors:

| Error | Code |
| --- | --- |
| UserisNotValid | 1030 |




## OpenAPI

````yaml post /Admin/BanUsers
openapi: 3.0.0
info:
  version: '260922'
  title: PlayFab Admin API
  description: >-
    APIs for managing title configurations, uploaded Game Server code
    executables, and user data
  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: Account Management
    description: Account Management APIs
  - name: Authentication
    description: Authentication APIs
  - name: Characters
    description: Characters APIs
  - name: Content
    description: Content Service APIs
  - name: Custom Server Management
    description: Custom Server Management APIs
  - name: Matchmaking
    description: Matchmaking APIs
  - name: Player Data Management
    description: Player Data Management APIs
  - name: Player Item Management
    description: Player Item Management APIs
  - name: PlayStream
    description: PlayStream Management APIs
  - name: ScheduledTask
    description: Task management APIs
  - name: Segments
    description: Segment management APIs
  - name: Server-Side Cloud Script
    description: Server-Side Cloud Script APIs
  - name: Shared Group Data
    description: Shared Group Data APIs
  - name: Title-Wide Data Management
    description: Title-Wide Data Management APIs
  - name: Xbox Store
    description: Xbox Store APIs
paths:
  /Admin/BanUsers:
    post:
      tags:
        - Account Management
      summary: Ban Users
      description: |
        Bans users by PlayFab ID with optional IP address for the provided game.

        ## Error codes

        This operation may return the following PlayFab errors:

        | Error | Code |
        | --- | --- |
        | UserisNotValid | 1030 |
      operationId: BanUsers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BanUsersRequest'
        description: >-
          The existence of each user will not be verified. When banning by IP,
          multiple players may be affected, so use this feature with caution.
          Returns information about the new bans.
      responses:
        '200':
          $ref: '#/components/responses/BanUsersResult'
        '400':
          $ref: '#/components/responses/ApiErrorWrapper'
      security:
        - SecretKey: []
components:
  schemas:
    BanUsersRequest:
      description: >-
        The existence of each user will not be verified. When banning by IP,
        multiple players may be affected, so use this feature with caution.
        Returns information about the new bans.
      type: object
      properties:
        Bans:
          description: List of ban requests to be applied. Maximum 100.
          type: array
          items:
            $ref: '#/components/schemas/BanRequest'
          x-isclass: true
        CustomTags:
          description: >-
            The optional custom tags associated with the request (e.g. build
            number, external trace identifiers, etc.).
          type: object
      required:
        - Bans
      example:
        Bans:
          - PlayFabId: 1679AF5CD04BD838
            IPAddress: 192.168.1.1
            Reason: You cheated!
            DurationInHours: 7
          - PlayFabId: 2329AF5CD04BF513
            Reason: Caught you using speed hack!
    BanRequest:
      description: Represents a single ban request.
      type: object
      properties:
        DurationInHours:
          description: >-
            The duration in hours for the ban. Leave this blank for a permanent
            ban.
          type: number
          x-actualtype: uint32
        IPAddress:
          description: IP address to be banned. May affect multiple players.
          type: string
        PlayFabId:
          description: >-
            Unique PlayFab assigned ID of the user on whom the operation will be
            performed.
          type: string
        Reason:
          description: The reason for this ban. Maximum 140 characters.
          type: string
        UserFamilyType:
          allOf:
            - $ref: '#/components/schemas/UserFamilyType'
          description: >-
            The family type of the user that should be included in the ban if
            applicable. May affect multiple players.
      required:
        - PlayFabId
    BanUsersResult:
      type: object
      properties:
        BanData:
          description: Information on the bans that were applied
          type: array
          items:
            $ref: '#/components/schemas/BanInfo'
          x-isclass: true
      example:
        BanData:
          - PlayFabId: 1679AF5CD04BD838
            BanId: E0B5FF89542D413C
            IPAddress: 192.111.11.1
            Created: '2016-08-13T05:04:03'
            Reason: You cheated!
          - PlayFabId: 2329AF5CD04BF513
            BanId: EF43FF89542G1546
            Created: '2016-05-13T05:04:03'
            Expires: '2016-09-13T05:04:03'
            Reason: You used speed hack!
            Active: true
    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
    UserFamilyType:
      type: string
      enum:
        - None
        - Xbox
        - Steam
    BanInfo:
      description: Contains information for a ban.
      type: object
      properties:
        Active:
          description: >-
            The active state of this ban. Expired bans may still have this value
            set to true but they will have no effect.
          type: boolean
        BanId:
          description: The unique Ban Id associated with this ban.
          type: string
        Created:
          description: The time when this ban was applied.
          type: string
        Expires:
          description: >-
            The time when this ban expires. Permanent bans do not have
            expiration date.
          type: string
        IPAddress:
          description: >-
            The IP address on which the ban was applied. May affect multiple
            players.
          type: string
        PlayFabId:
          description: >-
            Unique PlayFab assigned ID of the user on whom the operation will be
            performed.
          type: string
        Reason:
          description: The reason why this ban was applied.
          type: string
        UserFamilyType:
          description: The family type of the user that is included in the ban.
          type: string
      required:
        - Active
  responses:
    BanUsersResult:
      description: ''
      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/BanUsersResult'
            example:
              code: 200
              status: OK
              data:
                BanData:
                  - PlayFabId: 1679AF5CD04BD838
                    BanId: E0B5FF89542D413C
                    IPAddress: 192.111.11.1
                    Created: '2016-08-13T05:04:03'
                    Reason: You cheated!
                  - PlayFabId: 2329AF5CD04BF513
                    BanId: EF43FF89542G1546
                    Created: '2016-05-13T05:04:03'
                    Expires: '2016-09-13T05:04:03'
                    Reason: You used speed hack!
                    Active: true
    ApiErrorWrapper:
      description: This is the outer wrapper for all responses with errors
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorWrapper'
  securitySchemes:
    SecretKey:
      type: apiKey
      in: header
      name: X-SecretKey
      description: >-
        This API requires a title secret key, available to title admins, from
        PlayFab Game Manager.

````

## Related topics

- [Ban Users](/api-reference/account-management/ban-users.md)
- [Player Ban system](/services/playfab/player-progression/player-data/player-bans.md)
- [PFAccountManagementServerBanUsersAsync](/services/playfab/api-references/c/pfaccountmanagement/functions/pfaccountmanagementserverbanusersasync.md)
- [PFAccountManagementBanUsersResult](/services/playfab/api-references/c/pfaccountmanagementtypes/structs/pfaccountmanagementbanusersresult.md)
- [PFAccountManagementBanUsersRequest](/services/playfab/api-references/c/pfaccountmanagementtypes/structs/pfaccountmanagementbanusersrequest.md)
