Xoxoday Balance API

Account balance retrieval

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/xoxoday-balance-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

xoxoday-balance-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Xoxoday Plum Rewards Authentication Balance API
  description: REST API for programmatic distribution of digital rewards including gift cards, merchandise, experiences, charity donations, lounge access, airmiles, and mobile top-ups across 150+ countries. Supports full reward lifecycle management including catalog browsing, order placement, order tracking, and payment reconciliation. Also provides APIs for reward points distribution, reward links generation, and storefront SSO integration.
  version: 1.0.0
  contact:
    url: https://developers.xoxoday.com/docs/overview
  termsOfService: https://www.xoxoday.com/terms
  license:
    name: Proprietary
    url: https://www.xoxoday.com/terms
servers:
- url: https://accounts.xoxoday.com/chef
  description: Production server
- url: https://stagingstores.xoxoday.com/chef
  description: Staging / sandbox server
security:
- oauth2ClientCredentials: []
tags:
- name: Balance
  description: Account balance retrieval
paths:
  /v1/oauth/api:
    post:
      operationId: plumApiDispatch
      summary: Plum Pro API dispatcher
      description: Single POST endpoint used by the Plum Pro API (gift cards, lounge, airmiles, merchandise, charity, and mobile top-up). The operation is determined by the `query` field in the request body.
      tags:
      - Balance
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlumRequest'
            examples:
              getFilters:
                summary: Get Filters
                value:
                  query: plumProAPI.mutation.getFilters
                  tag: plumProAPI
                  variables:
                    data:
                      filterGroupCode: country
              getVouchers:
                summary: Get Vouchers (Gift Card Catalog)
                value:
                  query: plumProAPI.mutation.getVouchers
                  tag: plumProAPI
                  variables:
                    data:
                      limit: 10
                      page: 1
              getBalance:
                summary: Get Account Balance
                value:
                  query: plumProAPI.query.getBalance
                  tag: plumProAPI
                  variables:
                    data: {}
              placeOrder:
                summary: Place Order
                value:
                  query: plumProAPI.mutation.placeOrder
                  tag: plumProAPI
                  variables:
                    data:
                      productId: 1234
                      quantity: 1
                      denomination: 500
                      poNumber: PO-001
                      notifyReceiverEmail: 1
                      notifyAdminEmail: 0
                      email: recipient@example.com
              getOrderDetails:
                summary: Get Order Details
                value:
                  query: plumProAPI.mutation.getOrderDetails
                  tag: plumProAPI
                  variables:
                    data:
                      orderId: 98765
              getOrderHistory:
                summary: Get Order History
                value:
                  query: plumProAPI.mutation.getOrderHistory
                  tag: plumProAPI
                  variables:
                    data:
                      startDate: '2024-01-01'
                      endDate: '2024-12-31'
                      limit: 10
                      page: 1
              paymentHistory:
                summary: Get Payment Report
                value:
                  query: plumProAPI.mutation.paymentHistory
                  tag: plumProAPI
                  variables:
                    data:
                      startDate: '2024-01-01'
                      endDate: '2024-12-31'
                      limit: 10
                      page: 1
              fetchPoints:
                summary: Fetch User Points Balance
                value:
                  query: storesAdmin.query.user_balance
                  tag: storeAdmin
                  variables:
                    user_data:
                      email: user@example.com
              sendPoints:
                summary: Send Reward Points
                value:
                  query: storesAdmin.mutation.sendBalance
                  tag: storeAdmin
                  variables:
                    sender_email: admin@example.com
                    expiry_month: 12
                    recipients:
                    - to_name: Jane Doe
                      to_email: jane@example.com
                      amount: '500'
                      citation: Q4 performance bonus
              cancelPoints:
                summary: Cancel Points Transaction
                value:
                  query: storesAdmin.mutation.cancelBalance
                  tag: storeAdmin
                  variables:
                    recipients_data:
                      recipients:
                      - unique_id: 5758014
      responses:
        '200':
          description: Successful API response (operation-specific payload).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlumResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '502':
          $ref: '#/components/responses/BadGateway'
components:
  responses:
    BadGateway:
      description: Upstream / internal server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    UnprocessableEntity:
      description: Validation error (e.g. duplicate poNumber).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    BadRequest:
      description: Bad request — invalid or missing parameters / authorization failure.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
  schemas:
    GetFiltersResult:
      type: object
      properties:
        status:
          type: integer
          description: 1 = success.
        data:
          type: array
          items:
            type: object
            properties:
              filterGroupName:
                type: string
              filterGroupDescription:
                type: string
              filterGroupCode:
                type: string
              filters:
                type: array
                items:
                  type: object
                  properties:
                    filterValue:
                      type: string
                    isoCode:
                      type: string
                    filterValueCode:
                      type: string
    GetVouchersResult:
      type: object
      properties:
        status:
          type: integer
          description: 1 = success.
        data:
          type: array
          items:
            $ref: '#/components/schemas/Voucher'
    PlaceOrderResult:
      type: object
      properties:
        status:
          type: integer
          description: 1 = success.
        data:
          type: object
          properties:
            orderId:
              type: integer
            orderStatus:
              type: string
              example: complete
            deliveryStatus:
              type: string
              example: delivered
            vouchers:
              type: array
              items:
                type: object
                properties:
                  code:
                    type: string
                  pin:
                    type: string
                  validFrom:
                    type: string
                    format: date
                  validTo:
                    type: string
                    format: date
    FetchPointsResult:
      type: object
      properties:
        success:
          type: integer
          description: 1 = success, 0 = failure.
        message:
          type: string
          nullable: true
        data:
          type: object
          nullable: true
          properties:
            total:
              type: number
              description: Total reward points balance.
    PlumRequest:
      type: object
      required:
      - query
      - tag
      - variables
      properties:
        query:
          type: string
          description: 'Operation selector. Examples: plumProAPI.mutation.getVouchers, plumProAPI.mutation.placeOrder, plumProAPI.mutation.getOrderDetails, plumProAPI.mutation.getOrderHistory, plumProAPI.mutation.paymentHistory, plumProAPI.query.getBalance, plumProAPI.mutation.getFilters, storesAdmin.mutation.sendBalance, storesAdmin.query.user_balance, storesAdmin.mutation.cancelBalance.'
        tag:
          type: string
          description: API tag group. Use "plumProAPI" for gift card operations or "storeAdmin" for points operations.
        variables:
          type: object
          description: Operation-specific parameters object.
    CancelPointsResult:
      type: object
      properties:
        error:
          type: boolean
        message:
          type: string
        recipients:
          type: array
          items:
            type: object
            properties:
              unique_id:
                type: integer
              success:
                type: boolean
              message:
                type: string
    SendPointsResult:
      type: object
      properties:
        error:
          type: boolean
        message:
          type: string
        recipients:
          type: array
          items:
            type: object
            properties:
              unique_id:
                type: integer
              points:
                type: integer
              name:
                type: string
              phone_code:
                type: string
              phone_number:
                type: string
    GetOrderDetailsResult:
      type: object
      properties:
        status:
          type: integer
          description: 1 = success.
        data:
          type: object
          properties:
            orderId:
              type: integer
            orderTotal:
              type: number
            orderDiscount:
              type: number
            discountPercent:
              type: number
            currencyCode:
              type: string
            amountCharged:
              type: number
            orderStatus:
              type: string
            deliveryStatus:
              type: string
            orderDate:
              type: string
              format: date-time
            deliveryDate:
              type: string
              format: date-time
            quantity:
              type: integer
            vouchers:
              type: array
              items:
                type: object
                properties:
                  code:
                    type: string
                  pin:
                    type: string
                  validFrom:
                    type: string
                    format: date
                  validTo:
                    type: string
                    format: date
    PlumResponse:
      type: object
      description: Generic response wrapper. The nested payload depends on the operation invoked via the query field.
      properties:
        data:
          type: object
          description: Top-level data envelope.
          properties:
            getVouchers:
              $ref: '#/components/schemas/GetVouchersResult'
            getFilters:
              $ref: '#/components/schemas/GetFiltersResult'
            getBalance:
              $ref: '#/components/schemas/GetBalanceResult'
            placeOrder:
              $ref: '#/components/schemas/PlaceOrderResult'
            getOrderDetails:
              $ref: '#/components/schemas/GetOrderDetailsResult'
            paymentHistory:
              $ref: '#/components/schemas/PaymentHistoryResult'
            sendBalance:
              $ref: '#/components/schemas/SendPointsResult'
            user_balance:
              $ref: '#/components/schemas/FetchPointsResult'
            cancelBalance:
              $ref: '#/components/schemas/CancelPointsResult'
    ApiError:
      type: object
      properties:
        error:
          type: string
        error_description:
          type: string
        code:
          type: string
        errorId:
          type: string
        errorInfo:
          type: string
    GetBalanceResult:
      type: object
      properties:
        status:
          type: integer
          description: 1 = success.
        data:
          type: object
          properties:
            value:
              type: number
              description: Available account balance.
            currency:
              type: string
              description: Currency code (e.g. INR, USD).
    PaymentHistoryResult:
      type: object
      properties:
        status:
          type: integer
        data:
          type: array
          items:
            type: object
            properties:
              invoice_number:
                type: string
              reference_id:
                type: string
              date:
                type: string
                format: date
              reason:
                type: string
              adjusted_amount:
                type: integer
              transaction_status:
                type: string
                enum:
                - Complete
                - Cancelled
              closing_balance:
                type: integer
    Voucher:
      type: object
      properties:
        productId:
          type: integer
        name:
          type: string
        description:
          type: string
        minValue:
          type: number
        maxValue:
          type: number
        valueDenominations:
          type: string
          description: Comma-separated list of allowed denominations.
        fee:
          type: number
        discount:
          type: number
        countryCode:
          type: string
        countryName:
          type: string
        currencyCode:
          type: string
        termsAndConditionsInstructions:
          type: string
        expiryAndValidity:
          type: string
        deliveryType:
          type: string
        tatInDays:
          type: integer
        usageType:
          type: string
        imageUrl:
          type: string
          format: uri
        loyaltyName:
          type: string
        productMeta:
          type: string
          description: JSON string with additional product metadata.
  securitySchemes:
    oauth2ClientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://accounts.xoxoday.com/chef/v1/oauth/token
          scopes: {}
    bearerAuth:
      type: http
      scheme: bearer