Interswitch Transaction Search API

Back-office transaction and settlement verification APIs — Quick Search, Reference Search, Bulk Search, and Transaction Detail lookups across Quickteller Business, Webpay, Transfers, and Bills Payment. Bearer-token authenticated and intended for finance, ops, and dispute teams.

Interswitch Transaction Search API is one of 12 APIs that Interswitch publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 machine-runnable capability that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include Transactions, Search, Settlement, Reconciliation, and Africa. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 1 Naftiko capability spec.

OpenAPI Specification

interswitch-transaction-search-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Interswitch Transaction Search API
  description: |
    Back-office transaction and settlement verification — Quick Search,
    Reference Search, Bulk Search, and Transaction Detail lookups across
    Quickteller Business, Webpay, Transfers, and Bills Payment.
  version: '2024-01-01'
servers:
  - url: https://qa.interswitchng.com
    description: Sandbox / QA
  - url: https://saturn.interswitchng.com
    description: Production
security:
  - BearerAuth: []
tags:
  - name: Search
  - name: Detail
paths:
  /transaction-search/api/v1/search/quick:
    get:
      tags: [Search]
      summary: Quick Transaction Search
      operationId: quickTransactionSearch
      parameters:
        - { in: query, name: from, schema: { type: string, format: date } }
        - { in: query, name: to, schema: { type: string, format: date } }
        - { in: query, name: status, schema: { type: string } }
        - { in: query, name: limit, schema: { type: integer, default: 50 } }
        - { in: query, name: cursor, schema: { type: string } }
      responses:
        '200':
          description: Matching transactions.
          content:
            application/json:
              schema:
                type: object
                properties:
                  transactions: { type: array, items: { $ref: '#/components/schemas/Transaction' } }
                  nextCursor: { type: string }
  /transaction-search/api/v1/search/reference:
    get:
      tags: [Search]
      summary: Search By Reference
      operationId: searchTransactionByReference
      parameters:
        - { in: query, name: reference, required: true, schema: { type: string } }
      responses:
        '200':
          description: Matching transactions.
          content:
            application/json:
              schema:
                type: object
                properties:
                  transactions: { type: array, items: { $ref: '#/components/schemas/Transaction' } }
  /transaction-search/api/v1/search/bulk:
    post:
      tags: [Search]
      summary: Bulk Transaction Search
      operationId: bulkTransactionSearch
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required: [references]
              properties:
                references:
                  type: array
                  items: { type: string }
      responses:
        '200':
          description: Results keyed by reference.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: { $ref: '#/components/schemas/Transaction' }
  /transaction-search/api/v1/transactions/{transactionId}:
    get:
      tags: [Detail]
      summary: Get Transaction Detail
      operationId: getTransactionDetail
      parameters:
        - { in: path, name: transactionId, required: true, schema: { type: string } }
      responses:
        '200':
          description: Full transaction detail.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/Transaction' }
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
  schemas:
    Transaction:
      type: object
      properties:
        transactionId: { type: string }
        transactionRef: { type: string }
        type: { type: string, enum: [PAYMENT, TRANSFER, BILL, AIRTIME, REFUND, PAYCODE] }
        status: { type: string }
        responseCode: { type: string }
        amount: { type: integer }
        currency: { type: string }
        customerId: { type: string }
        merchantCode: { type: string }
        terminalId: { type: string }
        cardPanMasked: { type: string }
        cardScheme: { type: string }
        settlementDate: { type: string, format: date }
        createdAt: { type: string, format: date-time }