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

# Add Virtual Currency Types

> _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for version 2._ Adds one or more virtual currencies to the set defined for the title. Virtual Currencies have a maximum value of 2,147,483,647 when granted to a player. Any value over that will be discarded.

## Error codes

This operation may return the following PlayFab errors:

| Error | Code |
| --- | --- |
| InvalidVirtualCurrencyCode | 1236 |
| ProductDisabledForTitle | 1609 |
| VirtualCurrencyCodeExists | 1230 |
| VirtualCurrencyCountLimitExceeded | 1229 |




## OpenAPI

````yaml post /Admin/AddVirtualCurrencyTypes
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/AddVirtualCurrencyTypes:
    post:
      tags:
        - Title-Wide Data Management
      summary: Add Virtual Currency Types
      description: >
        _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new
        Economy features are being developed only for version 2._ Adds one or
        more virtual currencies to the set defined for the title. Virtual
        Currencies have a maximum value of 2,147,483,647 when granted to a
        player. Any value over that will be discarded.


        ## Error codes


        This operation may return the following PlayFab errors:


        | Error | Code |

        | --- | --- |

        | InvalidVirtualCurrencyCode | 1236 |

        | ProductDisabledForTitle | 1609 |

        | VirtualCurrencyCodeExists | 1230 |

        | VirtualCurrencyCountLimitExceeded | 1229 |
      operationId: AddVirtualCurrencyTypes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddVirtualCurrencyTypesRequest'
        description: >-
          This operation is additive. Any new currencies defined in the array
          will be added to the set of those available for the title, while any
          CurrencyCode identifiers matching existing ones in the game will be
          overwritten with the new values.
      responses:
        '200':
          $ref: '#/components/responses/BlankResult'
        '400':
          $ref: '#/components/responses/ApiErrorWrapper'
      security:
        - SecretKey: []
components:
  schemas:
    AddVirtualCurrencyTypesRequest:
      description: >-
        This operation is additive. Any new currencies defined in the array will
        be added to the set of those available for the title, while any
        CurrencyCode identifiers matching existing ones in the game will be
        overwritten with the new values.
      type: object
      properties:
        VirtualCurrencies:
          description: >-
            List of virtual currencies and their initial deposits (the amount a
            user is granted when signing in for the first time) to the title
          type: array
          items:
            $ref: '#/components/schemas/VirtualCurrencyData'
          x-isclass: true
      required:
        - VirtualCurrencies
      example:
        VirtualCurrencies:
          - CurrencyCode: CC
            DisplayName: Chump Coins
            InitialDeposit: 100
            RechargeRate: 1000
            RechargeMax: 1000
          - CurrencyCode: GC
    VirtualCurrencyData:
      type: object
      properties:
        CurrencyCode:
          description: 'unique two-character identifier for this currency type (e.g.: "CC")'
          type: string
        DisplayName:
          description: friendly name to show in the developer portal, reports, etc.
          type: string
        InitialDeposit:
          description: amount to automatically grant users upon first login to the title
          type: number
          x-actualtype: int32
        RechargeMax:
          description: >-
            maximum amount to which the currency will recharge (cannot exceed
            MaxAmount, but can be less)
          type: number
          x-actualtype: int32
        RechargeRate:
          description: >-
            rate at which the currency automatically be added to over time, in
            units per day (24 hours)
          type: number
          x-actualtype: int32
      required:
        - CurrencyCode
      example:
        CurrencyCode: GO
        DisplayName: Gold
        InitialDeposit: 0
    BlankResult:
      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:
    BlankResult:
      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/BlankResult'
    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

- [Add Virtual Currency Types](/api-reference/title-wide-data-management/add-virtual-currency-types.md)
- [Add User Virtual Currency](/services/playfab/api-references/rest/admin/player-item-management/add-user-virtual-currency.md)
- [Add Character Virtual Currency](/api-reference/player-item-management/add-character-virtual-currency.md)
- [Remove Virtual Currency Types](/services/playfab/api-references/rest/admin/title-wide-data-management/remove-virtual-currency-types.md)
- [List Virtual Currency Types](/services/playfab/api-references/rest/admin/title-wide-data-management/list-virtual-currency-types.md)
