Spare Payment API

The Payment API from Spare — 2 operation(s) for payment.

Operations 2

POST /api/v1.0/pis/Payment/List List domestic payment
GET /api/v1.0/pis/Payment/Get Get domestic payment by id

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/spare-payment-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

spare-payment-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Information Account Payment API
  description: Spare account information API documentation
  termsOfService: https://terms.tryspare.com/en
  contact:
    name: Spare Technologies WLL.
    email: hello@tryspare.com
  license:
    name: Spare Technologies WLL.
  version: '1.0'
servers:
- url: https://ob.tryspare.com/api/v1.0/authentication
  description: Base URL declared by the provider in apis.yml (roadmap#122).
security:
- Bearer: []
tags:
- name: Payment
paths:
  /api/v1.0/pis/Payment/List:
    post:
      tags:
      - Payment
      summary: List domestic payment
      parameters:
      - name: page
        in: query
        description: Page number
        schema:
          type: integer
          format: int32
          default: '1'
      - name: perPage
        in: query
        description: Number of items per page maximum allow is 100 per page
        schema:
          type: integer
          format: int32
          default: '20'
      - name: providerId
        in: query
        description: Provider id (Optional)
        schema:
          type: string
          format: uuid
      requestBody:
        description: Payment filter model.
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/PaymentFilterModel'
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentFilterModel'
          text/json:
            schema:
              $ref: '#/components/schemas/PaymentFilterModel'
          application/*+json:
            schema:
              $ref: '#/components/schemas/PaymentFilterModel'
      responses:
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectApiResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectApiResponse'
        '500':
          description: Internal Server Error
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomesticPaymentResponseModelIEnumerablePagesModelMetaApiResponse'
        '400':
          description: '- If connection id is not valid

            - If provider id is not valid'
  /api/v1.0/pis/Payment/Get:
    get:
      tags:
      - Payment
      summary: Get domestic payment by id
      parameters:
      - name: paymentId
        in: query
        description: Payment Id
        schema:
          type: string
          format: uuid
      - name: consentId
        in: query
        description: Consent Id
        schema:
          type: string
          format: uuid
      responses:
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectApiResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectApiResponse'
        '500':
          description: Internal Server Error
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomesticPaymentResponseModelApiResponse'
        '400':
          description: '- If payment id is not valid UUID

            - If consent id is not valid UUID

            - If currency does not exist'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomesticPaymentResponseModelApiResponse'
        '404':
          description: '- If payment does not exist'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomesticPaymentResponseModelApiResponse'
components:
  schemas:
    ConsentPaymentType:
      enum:
      - SingleInstantPayment
      type: string
    DomesticPaymentResponseModel:
      type: object
      properties:
        paymentId:
          type:
          - string
          - 'null'
          format: uuid
        reference:
          type:
          - string
          - 'null'
        paymentRequestType:
          type:
          - string
          - 'null'
        externalReference:
          type:
          - string
          - 'null'
        description:
          type:
          - string
          - 'null'
        amount:
          $ref: '#/components/schemas/PaymentAmountResponseModel'
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        status:
          $ref: '#/components/schemas/PaymentTransactionStatus'
        purpose:
          type:
          - string
          - 'null'
        note:
          type:
          - string
          - 'null'
        creditorAccount:
          $ref: '#/components/schemas/PaymentAccountModel'
        debtorAccount:
          $ref: '#/components/schemas/PaymentAccountModel'
        consent:
          $ref: '#/components/schemas/PaymentInitiationConsentResponseModel'
      additionalProperties: false
    PaymentFilterModel:
      type: object
      properties:
        fromDateTime:
          type:
          - string
          - 'null'
          format: date-time
        toDateTime:
          type:
          - string
          - 'null'
          format: date-time
        status:
          $ref: '#/components/schemas/PaymentTransactionStatus'
        amount:
          type:
          - number
          - 'null'
          format: double
        accountName:
          type:
          - string
          - 'null'
        paymentType:
          $ref: '#/components/schemas/ObTransactionType'
        order:
          $ref: '#/components/schemas/FilterOrder'
      additionalProperties: false
    ConsentScope:
      enum:
      - Accounts
      - Payments
      type: string
    CurrencyResponseModel:
      required:
      - englishName
      - iso4117Code
      type: object
      properties:
        id:
          type: string
          format: uuid
        englishName:
          maxLength: 50
          minLength: 1
          type: string
        arabicName:
          maxLength: 50
          type:
          - string
          - 'null'
        iso4117Code:
          maxLength: 3
          minLength: 1
          type: string
        iso4117Number:
          maxLength: 4
          type:
          - string
          - 'null'
      additionalProperties: false
    ObjectApiResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ApiError'
        errorDescription:
          type:
          - object
          - 'null'
          additionalProperties:
            type:
            - array
            - 'null'
            items:
              type: string
        data: {}
      additionalProperties: false
    ConnectionStatus:
      enum:
      - ACTIVE
      - INACTIVE
      type: string
    FilterOrder:
      enum:
      - ASCENDING
      - DESCENDING
      type: string
    ProviderStatus:
      enum:
      - Active
      - Inactive
      type: string
    ObTransactionType:
      enum:
      - CREDIT
      - DEBIT
      type: string
    PaymentInitiationConsentResponseModel:
      type: object
      properties:
        connection:
          $ref: '#/components/schemas/PaymentInitiationConnectionResponseModel'
        paymentConsentType:
          $ref: '#/components/schemas/ConsentPaymentType'
        executionDateTime:
          type:
          - string
          - 'null'
          format: date-time
        purpose:
          type:
          - string
          - 'null'
        note:
          type:
          - string
          - 'null'
        id:
          type: string
          format: uuid
        customerId:
          type:
          - string
          - 'null'
          format: uuid
        scope:
          $ref: '#/components/schemas/ConsentScope'
        createdAt:
          type: string
          format: date-time
        status:
          $ref: '#/components/schemas/ObConsentsStatus'
        authorizationLink:
          type:
          - string
          - 'null'
        successRedirectUrl:
          type:
          - string
          - 'null'
        failureRedirectUrl:
          type:
          - string
          - 'null'
      additionalProperties: false
    PaymentInitiationConnectionResponseModel:
      type: object
      properties:
        provider:
          $ref: '#/components/schemas/PaymentInitiationProviderModel'
        id:
          type: string
          format: uuid
        status:
          $ref: '#/components/schemas/ConnectionStatus'
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      additionalProperties: false
    ApiError:
      enum:
      - INVALID_DATA
      - INVALID_SIGNATURE
      - RESOURCE_LOCKED
      - COUNTRY_NOT_FOUND
      - CURRENCY_NOT_FOUND
      - PROVIDER_NOT_FOUND
      - CONNECTION_NOT_FOUND
      - INSUFFICIENT_CONSENT_PERMISSIONS
      - CONSENT_EXPIRED
      - CONSENT_REVOKED
      - CONSENT_UNAUTHORIZED
      - CONSENT_NOT_FOUND
      - RISK_REPORT_NOT_FOUND
      - ACCOUNT_INFORMATION_REPORT_NOT_FOUND
      - MULTIPLE_CURRENCY_NOT_ALLOWED
      - MULTIPLE_CONSENT_DATE_NOT_ALLOWED
      - PAYMENT_NOT_FOUND
      - CONSENT_REJECTED
      - PAYMENT_REQUEST_NOT_FOUND
      - CUSTOMER_NOT_FOUND
      - CUSTOMER_ALREADY_EXISTS
      - BANK_ACCOUNT_NOT_FOUND
      - SERVER_ERROR
      - PROVIDER_CONNECTION_FAILURE
      - TRANSACTION_NOT_FOUND
      - ACCOUNT_INFORMATION_ACCESS_REQUEST_NOT_FOUND
      - CONSENT_REVOCATION_FAILED
      - CONSENT_REVOKED_OR_EXPIRED
      - SUBSCRIPTION_EXPIRED
      - NOT_SUBSCRIBED_TO_SERVICE
      - BENEFICIARY_NOT_FOUND
      - PARTIES_NOT_FOUND
      - DIRECT_DEBIT_NOT_FOUND
      - SCHEDULED_PAYMENT_NOT_FOUND
      - DEBTOR_ACCOUNT_NOT_FOUND
      - CREDITOR_ACCOUNT_NOT_FOUND
      - UNAUTHORIZED_IP_ADDRESS
      type: string
    PaymentTransactionStatus:
      enum:
      - CREATED
      - ACCEPTED
      - CANCELLED
      - PENDING
      - RECEIVED
      - REJECTED
      - COMPLETED
      type: string
    SchemeName:
      enum:
      - IBAN
      - BBAN
      type: string
    PaymentAccountModel:
      required:
      - identification
      - scheme
      type: object
      properties:
        id:
          type:
          - string
          - 'null'
          format: uuid
        scheme:
          $ref: '#/components/schemas/SchemeName'
        identification:
          minLength: 1
          type: string
        name:
          type:
          - string
          - 'null'
      additionalProperties: false
    PaymentInitiationProviderModel:
      required:
      - englishName
      type: object
      properties:
        id:
          type:
          - string
          - 'null'
          format: uuid
        country:
          $ref: '#/components/schemas/CountryResponseModel'
        address:
          type:
          - string
          - 'null'
        phone:
          type:
          - string
          - 'null'
        isEnable:
          type: boolean
        arabicName:
          maxLength: 255
          type:
          - string
          - 'null'
        englishName:
          maxLength: 255
          minLength: 1
          type: string
        status:
          $ref: '#/components/schemas/ProviderStatus'
        logo:
          maxLength: 255
          type:
          - string
          - 'null'
          format: uri
      additionalProperties: false
    CountryResponseModel:
      required:
      - englishName
      - iso3166Code
      - timeZone
      type: object
      properties:
        id:
          type: string
          format: uuid
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        currency:
          $ref: '#/components/schemas/CurrencyResponseModel'
        englishName:
          maxLength: 50
          minLength: 1
          type: string
        arabicName:
          maxLength: 50
          type:
          - string
          - 'null'
        iso3166Code:
          maxLength: 2
          minLength: 1
          pattern: ^[A-Z]{2}$
          type: string
        timeZone:
          maxLength: 50
          minLength: 1
          type: string
      additionalProperties: false
    DomesticPaymentResponseModelIEnumerablePagesModelMetaApiResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ApiError'
        errorDescription:
          type:
          - object
          - 'null'
          additionalProperties:
            type:
            - array
            - 'null'
            items:
              type: string
        data:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/DomesticPaymentResponseModel'
        meta:
          $ref: '#/components/schemas/PagesModel'
      additionalProperties: false
    PaymentAmountResponseModel:
      type: object
      properties:
        value:
          type:
          - number
          - 'null'
          format: double
        currency:
          $ref: '#/components/schemas/CurrencyResponseModel'
      additionalProperties: false
    PagesModel:
      type: object
      properties:
        currentPageNumber:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalNumberOfPages:
          type: integer
          format: int32
      additionalProperties: false
    ObConsentsStatus:
      enum:
      - AwaitingAuthorization
      - Authorized
      - Authorised
      - Consumed
      - Rejected
      - Expired
      - Revoked
      type: string
    DomesticPaymentResponseModelApiResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ApiError'
        errorDescription:
          type:
          - object
          - 'null'
          additionalProperties:
            type:
            - array
            - 'null'
            items:
              type: string
        data:
          $ref: '#/components/schemas/DomesticPaymentResponseModel'
      additionalProperties: false
  securitySchemes:
    Bearer:
      type: apiKey
      description: Please enter into field the word 'Bearer' followed by a space and JWT
      name: Authorization
      in: header