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

> ## Agent Instructions
> OwnPay is licensed under AGPL-3.0 and is completely free - no licensing fees.
> Production docs URL: https://ownpay.org/docs - append .md to any page URL for clean markdown.
> OwnPay requires PHP 8.3+, MySQL/MariaDB, and Redis.
> MCP server available at https://ownpay.org/docs/mcp for programmatic documentation queries.
> Use root-relative links (e.g. /quickstart) for internal navigation - do NOT include /docs prefix.
> Plugin development: consult /developer/plugin-types/ pages for correct interfaces and manifests.

# List Transactions

> Retrieves a filtered, paginated list of transactions processed under the brand.
Applies strict brand-level tenant isolation checks (merchant_id scoping) and outputs safe fields, filtering out sensitive internal routing metadata.




## OpenAPI

````yaml /api/merchant_api.yaml get /transactions
openapi: 3.1.0
info:
  title: OwnPay Merchant API
  description: >
    The OwnPay Merchant API enables merchants to programmatically interface with
    their white-labeled payment gateway.

    It exposes endpoints to initiate payments (creating payment intents), query
    transaction statuses, issue full or partial refunds, manage customer
    profiles securely in compliance with GDPR and OWASP, generate and revoke API
    keys, and test/audit webhook delivery attempts.


    ### Authentication

    Authentication is performed via HTTP Bearer token in the `Authorization`
    header.

    ```http

    Authorization: Bearer your_api_key_here

    ```

    API keys carry specific privilege scopes (e.g., `read`, `write`, `admin`).

    Some administrative operations (like listing/generating API keys) require
    **both** `write` and `admin` scopes, as well as passing a valid platform
    super-administrator's email address in the `X-Super-Admin-Email` header for
    safety.
  version: 1.0.0
servers:
  - url: https://{brand_domain}/api/v1
    description: Sandbox or Production white-labeled brand gateway API server.
    variables:
      brand_domain:
        default: ownpay.org
        description: The custom domain configured for your white-labeled brand.
security:
  - BearerAuth: []
paths:
  /transactions:
    get:
      summary: List Transactions
      description: >
        Retrieves a filtered, paginated list of transactions processed under the
        brand.

        Applies strict brand-level tenant isolation checks (merchant_id scoping)
        and outputs safe fields, filtering out sensitive internal routing
        metadata.
      operationId: listTransactions
      parameters:
        - name: page
          in: query
          description: Page number to retrieve.
          required: false
          schema:
            type: integer
            minimum: 1
            default: 1
        - name: per_page
          in: query
          description: Maximum transaction records per page.
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 25
        - name: status
          in: query
          description: >-
            Filter by transaction status (e.g., `completed`, `pending`,
            `failed`, `cancelled`, `processing`).
          required: false
          schema:
            type: string
        - name: gateway
          in: query
          description: Filter by gateway adapter slug.
          required: false
          schema:
            type: string
        - name: from
          in: query
          description: >-
            Starting date boundary (YYYY-MM-DD) for filtering transactions by
            creation time.
          required: false
          schema:
            type: string
            format: date
        - name: to
          in: query
          description: >-
            Ending date boundary (YYYY-MM-DD) for filtering transactions by
            creation time.
          required: false
          schema:
            type: string
            format: date
      responses:
        '200':
          description: Paginated transaction list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedTransactionsResponse'
components:
  schemas:
    PaginatedTransactionsResponse:
      type: object
      properties:
        success:
          type: boolean
          example: true
        data:
          type: array
          items: 71ba837e-719c-4ac1-b9f9-c53f9419468c
        meta:
          type: object
          properties:
            page:
              type: integer
              example: 1
            per_page:
              type: integer
              example: 25
            total:
              type: integer
              example: 120
            total_pages:
              type: integer
              example: 5
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Provide the Bearer API Key generated for your brand.

````

## Related topics

- [OwnPay API Overview - REST API for Multi-Brand Payments](/docs/api/overview.md)
- [Developer Quickstart - Build Your First Payment Integration](/docs/developer/quickstart.md)
- [Laravel SDK - Fluent Payment Integration for PHP Apps](/docs/developer/integration/laravel.md)
- [REST API Integration - Endpoints, Auth, and Examples](/docs/resources/integrations/rest-api.md)
- [Admin Dashboard - Transaction Volume, Revenue, and KPIs](/docs/user-guide/dashboard.md)
