> ## Documentation Index
> Fetch the complete documentation index at: https://docs.solvapay.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> SolvaPay quick facts:
> - REST API base URL: https://api.solvapay.com. All public endpoints are under /v1/sdk/ (for example GET https://api.solvapay.com/v1/sdk/products). Sandbox and production share this URL.
> - Auth: send a secret key as `Authorization: Bearer <secret key>` (the REST API also accepts `X-API-Key: <secret key>`).
> - Secret key prefixes: `sk_sandbox_` (sandbox, test payments) and `sk_live_` (production). The prefix selects the environment.
> - Get keys in SolvaPay Console (https://app.solvapay.com) > Developers > API Keys. Use a sandbox key while building.
> - Admin MCP Server: https://mcp.solvapay.com/mcp (Streamable HTTP). Connect with OAuth: add the URL and sign in with the SolvaPay account; no API key needed. OAuth sessions use the live account; for sandbox data or headless clients, send `Authorization: Bearer <secret key>` (X-API-Key is ignored).
> - Install the SolvaPay agent skills: `npx skills add https://solvapay.com` (skills CLI older than 1.5.7: `npx skills add solvapay/skills`).
> - TypeScript SDK setup: `npx solvapay@latest init`. The SDK reads SOLVAPAY_SECRET_KEY and defaults to https://api.solvapay.com.
> - Plans take an options[] array (billingCycle, charge, limit, ...). Retired plan fields price, freeUnits and billingCycle are rejected.
> - Step-by-step from zero to a first paid call: Managed MCP https://docs.solvapay.com/build/managed-mcp.md, TypeScript SDK https://docs.solvapay.com/build/typescript-sdk.md, agent skill https://docs.solvapay.com/build/agent-skill.md.
> - Details: https://docs.solvapay.com/api-reference/authentication.md. OpenAPI spec: https://docs.solvapay.com/api-reference/openapi.json.

# List account-wide credit activity for a customer

> Every credit event on the customer account, newest first, including other products and top-ups. Credits are shared, so the balance only makes sense account-wide.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/sdk/credits/activity
openapi: 3.0.0
info:
  contact: {}
  description: The SolvaPay REST API specification
  title: SolvaPay REST API
  version: '1.0'
servers:
  - description: >-
      SolvaPay API (sandbox and live; the secret key prefix selects the
      environment)
    url: https://api.solvapay.com
security: []
tags: []
paths:
  /v1/sdk/credits/activity:
    get:
      tags:
        - Credits
      summary: List account-wide credit activity for a customer
      description: >-
        Every credit event on the customer account, newest first, including
        other products and top-ups. Credits are shared, so the balance only
        makes sense account-wide.
      operationId: CreditActivitySdkController_getActivity
      parameters:
        - in: query
          name: customerRef
          required: true
          schema:
            type: string
        - in: query
          name: limit
          required: false
          schema:
            type: number
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditActivityResponseDto'
          description: Account-wide credit ledger page.
        '400':
          description: customerRef is required, or limit is invalid
        '404':
          description: Customer not found
      security:
        - SecretKey: []
components:
  schemas:
    CreditActivityResponseDto:
      properties:
        entries:
          items:
            $ref: '#/components/schemas/CreditActivityEntryDto'
          type: array
        hasMore:
          description: True when more events exist beyond this page
          example: false
          type: boolean
      required:
        - entries
        - hasMore
      type: object
    CreditActivityEntryDto:
      properties:
        amount:
          description: Signed credit units on the USD peg (100 credits = 1 USD cent)
          example: -200
          type: number
        balance:
          description: Running credit balance after this event
          example: 599800
          type: number
        productName:
          description: Product display name when the event is product-scoped
          type: string
        productRef:
          description: Product reference when the event is product-scoped
          type: string
        reason:
          description: Machine-readable reason when the ledger stored one
          type: string
        timestamp:
          description: ISO-8601 timestamp
          example: '2026-09-05T14:22:00.000Z'
          type: string
        type:
          description: Ledger event type
          enum:
            - USAGE
            - TOPUP
            - GRANT
            - REFUND
            - ADJUSTMENT
          type: string
      required:
        - type
        - amount
        - balance
        - timestamp
      type: object
  securitySchemes:
    SecretKey:
      bearerFormat: JWT
      description: >-
        Provider secret API key (sk_sandbox_… / sk_live_…) supplied as a Bearer
        token.
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.