> ## Documentation Index
> Fetch the complete documentation index at: https://rain-sandbox-trial.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a user's points activity

> Returns a paginated list of the user's rewards activity, including earned and redeemed items. The response includes `items` only; it does not include `total`, `hasMore`, or cursor metadata. `PENDING` and `FAILED` travel-portal redemption rows are hidden because they represent unconfirmed or rejected booking attempts. Earned item `reason` currently returns `CARD_SPEND` for all rows, including non-card adjustments.



## OpenAPI

````yaml /openapi.json get /issuing/raindrops/activity
openapi: 3.0.3
info:
  title: Issuing API
  description: This is the specification for Rain's Issuing API.
  termsOfService: https://www.rain.xyz/legal/authorized-user-terms
  contact:
    email: support@rain.xyz
  version: 1.3.0
servers:
  - url: https://api-dev.rain.xyz/v1
    description: Sandbox server
  - url: https://api.rain.xyz/v1
    description: Production server
security: []
tags:
  - name: paymentRoutes
    description: >-
      **Endpoint Migration:** The `/v1/automations` endpoints have been renamed
      to `/v1/payment-routes`. The old `/v1/automations` paths remain available
      as deprecated aliases during migration. Update your integrations to use
      `/v1/payment-routes` as the deprecated endpoints will be removed in a
      future release.
  - name: simulate
    description: >-
      Transaction simulation endpoints for testing integration flows in
      non-production environments. These endpoints let you trigger transaction
      events programmatically to automate integration tests and verify webhook
      handling without depending on external systems or staging real deposits.
      **Sandbox only** — all simulation endpoints return `404 Not Found` in
      production.
  - name: raindrops
    description: >-
      Rewards and points management endpoints. Custom API keys need
      `raindrops:read`/`raindrops:write` for general rewards endpoints and
      `raindrops-travel:read`/`raindrops-travel:write` for travel redemption
      endpoints.
    x-group: rewards
paths:
  /issuing/raindrops/activity:
    get:
      tags:
        - raindrops
      summary: Get a user's points activity
      description: >-
        Returns a paginated list of the user's rewards activity, including
        earned and redeemed items. The response includes `items` only; it does
        not include `total`, `hasMore`, or cursor metadata. `PENDING` and
        `FAILED` travel-portal redemption rows are hidden because they represent
        unconfirmed or rejected booking attempts. Earned item `reason` currently
        returns `CARD_SPEND` for all rows, including non-card adjustments.
      operationId: getRaindropsActivity
      parameters:
        - name: userId
          in: query
          description: The ID of the user to get activity for
          required: true
          schema:
            type: string
            format: uuid
        - name: type
          in: query
          description: Filter activity by type
          required: false
          schema:
            type: string
            enum:
              - earned
              - redeemed
        - name: limit
          in: query
          description: Maximum number of items to return (1-100, default 20)
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 20
        - name: offset
          in: query
          description: Number of items to skip for pagination (0-10000, default 0)
          required: false
          schema:
            type: integer
            minimum: 0
            maximum: 10000
            default: 0
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      oneOf:
                        - type: object
                          description: An earned points activity item
                          properties:
                            type:
                              type: string
                              enum:
                                - earned
                              description: The activity type
                            id:
                              type: string
                              description: The activity item ID
                            points:
                              type: string
                              description: >-
                                The number of points earned, as a string to
                                preserve precision
                            reason:
                              type: string
                              description: >-
                                The reason points were earned (currently
                                CARD_SPEND for all transactions)
                            status:
                              type: string
                              description: >-
                                The status of the earned points (e.g., PENDING,
                                MINTED)
                            merchantName:
                              type: string
                              nullable: true
                              description: The merchant name for transaction-based earnings
                            transactionAmountCents:
                              type: integer
                              nullable: true
                              description: >-
                                The transaction amount in cents for
                                transaction-based earnings
                            spendCategory:
                              type: string
                              nullable: true
                              description: >-
                                The spend category for transaction-based
                                earnings
                            postedAt:
                              type: string
                              format: date-time
                              nullable: true
                              description: When the transaction was posted
                            mintedAt:
                              type: string
                              format: date-time
                              nullable: true
                              description: When the points were minted on-chain
                            createdAt:
                              type: string
                              format: date-time
                              description: When the activity item was created
                        - type: object
                          description: A redeemed points activity item
                          properties:
                            type:
                              type: string
                              enum:
                                - redeemed
                              description: The activity type
                            id:
                              type: string
                              description: The activity item ID
                            points:
                              type: string
                              description: >-
                                The number of points redeemed, as a string to
                                preserve precision
                            redemptionType:
                              type: string
                              description: >-
                                The type of redemption (e.g., TRAVEL_PORTAL,
                                STATEMENT_CREDIT)
                            status:
                              type: string
                              description: >-
                                The status of the redemption (e.g., PENDING,
                                COMPLETED, REFUNDED)
                            costToRainCents:
                              type: string
                              description: The cost to Rain in cents, as a string
                            createdAt:
                              type: string
                              format: date-time
                              description: When the redemption was created
        '400':
          description: Invalid request
        '401':
          description: Invalid authorization
        '404':
          description: User not found
        '500':
          description: Internal server error
      security:
        - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      name: Api-Key
      in: header

````