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

# Reward Ad Activity

> Reward player's ad activity

## Error codes

This operation may return the following PlayFab errors:

| Error | Code |
| --- | --- |
| ActionGroupNotFound | 1250 |
| AllAdPlacementViewsAlreadyConsumed | 1269 |
| InvalidAdPlacementAndReward | 1268 |




## OpenAPI

````yaml /services/playfab/api-references/rest/client/client.openapi.json post /Client/RewardAdActivity
openapi: 3.0.0
info:
  version: '260922'
  title: PlayFab Client API
  description: >-
    APIs which provide the full range of PlayFab features available to the
    client - authentication, account and data management, inventory, friends,
    matchmaking, reporting, and platform-specific functionality
  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: Advertising
    description: Advertising 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
  - name: Trading
    description: Trading Management APIs
paths:
  /Client/RewardAdActivity:
    post:
      tags:
        - Advertising
      summary: Reward Ad Activity
      description: |
        Reward player's ad activity

        ## Error codes

        This operation may return the following PlayFab errors:

        | Error | Code |
        | --- | --- |
        | ActionGroupNotFound | 1250 |
        | AllAdPlacementViewsAlreadyConsumed | 1269 |
        | InvalidAdPlacementAndReward | 1268 |
      operationId: RewardAdActivity
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RewardAdActivityRequest'
        description: Details on which placement and reward to perform a grant on
      responses:
        '200':
          $ref: '#/components/responses/RewardAdActivityResult'
        '400':
          $ref: '#/components/responses/ApiErrorWrapper'
      security:
        - SessionTicket: []
components:
  schemas:
    RewardAdActivityRequest:
      description: Details on which placement and reward to perform a grant on
      type: object
      properties:
        CustomTags:
          description: >-
            The optional custom tags associated with the request (e.g. build
            number, external trace identifiers, etc.).
          type: object
        PlacementId:
          description: Placement unique ID
          type: string
        RewardId:
          description: Reward unique ID
          type: string
      required:
        - PlacementId
        - RewardId
      example:
        PlacementId: A124572382B
        RewardId: B2674981A
    RewardAdActivityResult:
      description: Result for rewarding an ad activity
      type: object
      properties:
        AdActivityEventId:
          description: >-
            PlayStream Event ID that was generated by this reward (all
            subsequent events are associated with this event identifier)
          type: string
        DebugResults:
          description: Debug results from the grants
          type: array
          items:
            type: string
        PlacementId:
          description: Id of the placement the reward was for
          type: string
        PlacementName:
          description: Name of the placement the reward was for
          type: string
        PlacementViewsRemaining:
          description: If placement has viewing limits indicates how many views are left
          type: number
          x-actualtype: int32
        PlacementViewsResetMinutes:
          description: If placement has viewing limits indicates when they will next reset
          type: number
          x-actualtype: double
        RewardResults:
          allOf:
            - $ref: '#/components/schemas/AdRewardResults'
          description: Reward results
      example:
        AdActivityEventId: 1639167AGDJG
        PlacementViewsRemaining: 0
        PlacementViewsResetMinutes: 36
        RewardResults:
          GrantedItems:
            - ItemId: PowerUpBonus5
              CatalogId: AdRewards
              DisplayName: Five Minute Power Up
              InstanceId: '17937194371'
          GrantedVirtualCurrencies:
            Gold: 5
          IncrementedStatistics:
            AdViews: 1
        PlacementId: A124572382B
    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
    AdRewardResults:
      description: Details on what was granted to the player
      type: object
      properties:
        GrantedItems:
          description: Array of the items granted to the player
          type: array
          items:
            $ref: '#/components/schemas/AdRewardItemGranted'
          x-isclass: true
        GrantedVirtualCurrencies:
          description: Dictionary of virtual currencies that were granted to the player
          type: object
          x-actualtype: int32
        IncrementedStatistics:
          description: Dictionary of statistics that were modified for the player
          type: object
          x-actualtype: int32
    AdRewardItemGranted:
      description: Details for each item granted
      type: object
      properties:
        CatalogId:
          description: Catalog ID
          type: string
        DisplayName:
          description: Catalog item display name
          type: string
        InstanceId:
          description: Inventory instance ID
          type: string
        ItemId:
          description: Item ID
          type: string
  responses:
    RewardAdActivityResult:
      description: Result for rewarding an ad activity
      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/RewardAdActivityResult'
            example:
              code: 200
              status: OK
              data:
                AdActivityEventId: 1639167AGDJG
                PlacementViewsRemaining: 0
                PlacementViewsResetMinutes: 36
                RewardResults:
                  GrantedItems:
                    - ItemId: PowerUpBonus5
                      CatalogId: AdRewards
                      DisplayName: Five Minute Power Up
                      InstanceId: '17937194371'
                  GrantedVirtualCurrencies:
                    Gold: 5
                  IncrementedStatistics:
                    AdViews: 1
                PlacementId: A124572382B
    ApiErrorWrapper:
      description: This is the outer wrapper for all responses with errors
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorWrapper'
  securitySchemes:
    SessionTicket:
      type: apiKey
      in: header
      name: X-Authorization
      description: >-
        This API requires a client session ticket, available from any Client
        Login function.

````

## Related topics

- [Reward Ad Activity](/services/playfab/api-references/rest/client/advertising/reward-ad-activity.md)
- [Getting started with rewarded Ads.](/services/playfab/economy-monetization/rewarded-ads/quickstart.md)
- [Report Ad Activity](/services/playfab/api-references/rest/client/advertising/report-ad-activity.md)
- [player_ad_rewarded](/services/playfab/api-references/events/AdPlacement/player-ad-rewarded.md)
- [player_ad_opened](/services/playfab/api-references/events/AdPlacement/player-ad-opened.md)
