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

# Send Push Notification

> Sends an iOS/Android Push Notification to a specific user, if that user's device has been configured for Push Notifications in PlayFab. If a user has linked both Android and iOS devices, both will be notified.

## Error codes

This operation may return the following PlayFab errors:

| Error | Code |
| --- | --- |
| PushNotEnabledForAccount | 1094 |
| PushServiceError | 1095 |




## OpenAPI

````yaml /services/playfab/api-references/rest/server/server.openapi.json post /Server/SendPushNotification
openapi: 3.0.0
info:
  version: '260922'
  title: PlayFab Server API
  description: >-
    Provides functionality to allow external (developer-controlled) servers to
    interact with user inventories and data in a trusted manner, and to handle
    matchmaking and client connection orchestration
  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: Analytics
    description: Analytics APIs
  - name: Authentication
    description: Authentication APIs
  - name: Character Data
    description: Character Data APIs
  - name: Characters
    description: Characters APIs
  - name: Content
    description: Content Service APIs
  - name: Friend List Management
    description: Friend List Management APIs
  - name: Matchmaking
    description: Matchmaking APIs
  - name: Platform Specific Methods
    description: Platform Specific Methods 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: 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
paths:
  /Server/SendPushNotification:
    post:
      tags:
        - Account Management
      summary: Send Push Notification
      description: >
        Sends an iOS/Android Push Notification to a specific user, if that
        user's device has been configured for Push Notifications in PlayFab. If
        a user has linked both Android and iOS devices, both will be notified.


        ## Error codes


        This operation may return the following PlayFab errors:


        | Error | Code |

        | --- | --- |

        | PushNotEnabledForAccount | 1094 |

        | PushServiceError | 1095 |
      operationId: SendPushNotification
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendPushNotificationRequest'
      responses:
        '200':
          $ref: '#/components/responses/SendPushNotificationResult'
        '400':
          $ref: '#/components/responses/ApiErrorWrapper'
      security:
        - SecretKey: []
components:
  schemas:
    SendPushNotificationRequest:
      type: object
      properties:
        AdvancedPlatformDelivery:
          description: >-
            Allows you to provide precisely formatted json to target devices.
            This is an advanced feature, allowing you to deliver to custom
            plugin logic, fields, or functionality not natively supported by
            PlayFab.
          type: array
          items:
            $ref: '#/components/schemas/AdvancedPushPlatformMsg'
          x-isclass: true
        CustomTags:
          description: >-
            The optional custom tags associated with the request (e.g. build
            number, external trace identifiers, etc.).
          type: object
        Message:
          description: Text of message to send.
          type: string
        Package:
          allOf:
            - $ref: '#/components/schemas/PushNotificationPackage'
          description: >-
            Defines all possible push attributes like message, title, icon, etc.
            Some parameters are device specific - please see the
            PushNotificationPackage documentation for details.
        Recipient:
          description: PlayFabId of the recipient of the push notification.
          type: string
        Subject:
          description: Subject of message to send (may not be displayed in all platforms)
          type: string
        TargetPlatforms:
          description: >-
            Target Platforms that should receive the Message or Package. If
            omitted, we will send to all available platforms.
          type: array
          items:
            $ref: '#/components/schemas/PushNotificationPlatform'
          x-isenum: true
      required:
        - Recipient
      example:
        Recipient: F8763A987E
        Message: You have been attacked! Go defend your base!
    AdvancedPushPlatformMsg:
      type: object
      properties:
        GCMDataOnly:
          description: >-
            Stops GoogleCloudMessaging notifications from including both
            notification and data properties and instead only sends the data
            property.
          type: boolean
        Json:
          description: The Json the platform should receive.
          type: string
        Platform:
          allOf:
            - $ref: '#/components/schemas/PushNotificationPlatform'
          description: The platform that should receive the Json.
      required:
        - Platform
        - Json
    PushNotificationPackage:
      type: object
      properties:
        Badge:
          description: Numerical badge to display on App icon (iOS only)
          type: number
          x-actualtype: int32
        CustomData:
          description: >-
            This must be a JSON formatted object. For use with developer-created
            custom Push Notification plugins
          type: string
        Icon:
          description: Icon file to display with the message (Not supported for iOS)
          type: string
        Message:
          description: Content of the message (all platforms)
          type: string
        Sound:
          description: Sound file to play with the message (all platforms)
          type: string
        Title:
          description: Title/Subject of the message. Not supported for iOS
          type: string
      required:
        - Title
        - Message
        - Badge
    PushNotificationPlatform:
      type: string
      enum:
        - ApplePushNotificationService
        - GoogleCloudMessaging
    SendPushNotificationResult:
      type: object
      properties: {}
    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
  responses:
    SendPushNotificationResult:
      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/SendPushNotificationResult'
    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

- [Send Push Notification](/services/playfab/api-references/rest/server/account-management/send-push-notification.md)
- [PFPushNotificationsSendPushNotificationRequest](/services/playfab/api-references/c/pfpushnotificationstypes/structs/pfpushnotificationssendpushnotificationrequest.md)
- [Send Push Notification From Template](/services/playfab/api-references/rest/server/account-management/send-push-notification-from-template.md)
- [PFPushNotificationsServerSendPushNotificationAsync](/services/playfab/api-references/c/pfpushnotifications/functions/pfpushnotificationsserversendpushnotificationasync.md)
- [PFPushNotificationsSendPushNotificationFromTemplateRequest](/services/playfab/api-references/c/pfpushnotificationstypes/structs/pfpushnotificationssendpushnotificationfromtemplaterequest.md)
