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

# Get Direct Debits

> Get all direct debits



## OpenAPI

````yaml openapi.yaml get /direct-debits
openapi: 3.0.0
info:
  title: Open API
  version: v1
  contact:
    name: Sparkle
    email: support@sparkle.ng
    url: https://sparkle.ng
  description: >
    The Regulatory Framework for Open Banking in Nigeria established principles
    for data sharing across the banking and payments system to promote
    innovations and broaden the range of financial products and services
    available to bank customers. As a result, open banking recognizes the
    ownership and control of data by customers of financial and non-financial
    services, and their right to grant authorizations to service providers for
    the purpose of accessing innovative financial products and services.


    ## What this document is about

    This is a draft of the API specification standards designed to be used in
    compliance with the Central Bank of Nigeria (CBN) operational guidelines on
    open banking within the Nigerian financial ecosystem.


    ## Scope

    Given the open banking proposition, any organisation that has data of
    customers which may be exchanged with other entities for the purpose of
    providing innovative financial services within Nigeria, is eligible to
    participate in the Open Banking ecosystem.


    ## Authentication

    Authorization to API endpoints is performed using OAuth 2.0 Client
    Credentials flow.


    https://apis.openbanking.ng/#d9bd2beb-bb24-4ac3-95c4-7fc3d4f486c3
servers:
  - url: '{authUrl}'
    variables:
      authUrl:
        default: https://identity-sandbox.sparkle.fyi
        description: Authentication URL
  - url: '{apiUrl}'
    variables:
      apiUrl:
        default: https://api-sandbox.sparkle.fyi/openapi/v1
        description: Base URL for the API
security: []
tags:
  - name: DynamicClientRegistration
    description: Dynamic client registration endpoints
  - name: Consent
    description: Authentication and authorization endpoints
  - name: Meta
    description: Meta information endpoints
  - name: Health
    description: Health check endpoints
  - name: Customers
    description: Customer management endpoints
  - name: Accounts
    description: Account management endpoints
  - name: Transfers
    description: Transaction and transfer related endpoints
  - name: Bill Payments
    description: Bill payment related endpoints
  - name: Disputes
    description: Dispute management endpoints
  - name: Direct Debits
    description: Direct debit management endpoints
  - name: Cards
    description: Card management and transaction endpoints
  - name: Loans
    description: Loan management endpoints
  - name: Savings
    description: Savings management endpoints
paths:
  /direct-debits:
    get:
      tags:
        - Direct Debits
      summary: Get Direct Debits
      description: Get all direct debits
      operationId: getDirectDebit
      parameters:
        - name: connection-id
          in: header
          required: false
          schema:
            type: string
          description: Connection ID for the target bank
          example: CONN0987654321
        - name: idempotency-key
          in: header
          required: true
          schema:
            type: string
          description: Unique key to ensure idempotency of the request
          example: '1234567890987654321'
        - name: signature
          in: header
          required: true
          schema:
            type: string
          description: SHA-256 signature of client_secret + ";" + idempotency-key
          example: SHA-256({{YOUR_CLIENT_SECRET}} + ";" + idempotency-key)
      responses:
        '200':
          description: Direct debit retrieved successfully
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - message
                  - data
                properties:
                  status:
                    type: string
                    example: '00'
                  message:
                    type: string
                    example: Payment successful
                  data:
                    type: object
                    required:
                      - mandates
                    properties:
                      mandates:
                        type: array
                        items:
                          type: object
                          required:
                            - mandate_id
                            - mandate_status
                            - reference
                            - narration
                            - amount
                            - start_date
                            - end_date
                            - frequency
                            - destination_bank_code
                            - destination_account
                            - destination_account_name
                            - callback_url
                            - custom_properties
                          properties:
                            mandate_status:
                              type: string
                              description: Current status of the mandate
                              enum:
                                - ACTIVE
                                - INACTIVE
                              example: ACTIVE
                            mandate_id:
                              type: string
                              description: >-
                                The API Consumer internal mandate ID for the
                                specific mandate
                              example: 1234-4567-8901
                            reference:
                              type: string
                              description: Unique reference ID of the direct debit mandate
                              example: DD123456789
                            narration:
                              type: string
                              description: Description of the mandate
                              example: Monthly subscription payment
                            amount:
                              type: number
                              description: The amount of the direct debit
                              example: 100
                            start_date:
                              type: string
                              format: date
                              description: The start date of the mandate
                              example: '2024-03-20'
                            end_date:
                              type: string
                              format: date
                              description: The date at which the mandate expires
                              example: '2025-03-20'
                            next_possible_charge_date:
                              type: string
                              format: date
                              description: The next date when the mandate can be charged
                              example: '2014-11-10'
                            frequency:
                              type: string
                              description: Specifies how often a mandate would be called
                              example: MONTHLY
                              enum:
                                - DAILY
                                - WEEKLY
                                - MONTHLY
                                - QUARTERLY
                                - YEARLY
                            destination_bank_code:
                              type: string
                              description: The bank code of the destination bank
                              example: '044'
                            destination_account:
                              type: string
                              description: The account number of the destination bank
                              example: '0987654321'
                            destination_account_name:
                              type: string
                              description: Account number of the merchant in NUBAN format
                              example: Merchant Name Ltd
                            callback_url:
                              type: string
                              description: >-
                                The URL that the API Provider would call to
                                notify of the API Consumer about the status of
                                the transaction
                              example: >-
                                https://api.merchant.com/webhooks/dd-status/DD123456789
                            custom_properties:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    description: >-
                                      The unique identifier for the custom
                                      property
                                    example: '1'
                                  description:
                                    type: string
                                    description: The description of the custom property
                                    example: custom_property
                                  type:
                                    type: string
                                    description: The type of the custom property
                                    example: string
                                  value:
                                    type: string
                                    description: The value of the custom property
                                    example: custom_property
      security:
        - oauth2:
            - direct-debits.list
components:
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: /oauth2/token
          scopes:
            openid: Make an OpenID Connect request
            customers.readonly: View customers
            customers.update: Update a customer
            accounts.create: Create an account
            accounts.list.readonly: View accounts
            accounts.balance.readonly: View account balance
            accounts.update: Update an account
            accounts.transactions.readonly: View transactions
            accounts.holds.readonly: View holds
            accounts.holds.create: Create a hold
            accounts.holds.update: Update a hold
            transfers.transactions.enquiry: Enquire about a transfer
            transfers.transactions.create: Create a transfer transaction
            transfers.transactions.query: Query transfer transactions
            bills.categories.list: View bill categories
            bills.billers.list: View billers
            bills.bill.validate: Validate a bill
            bills.transactions.create: Create a bill transaction
            disputes.categories.list: View dispute categories
            disputes.report.create: Create a dispute report
            disputes.report.readonly: View disputes
            direct-debits.create: Create a direct debit
            direct-debits.update: Update a direct debit
            direct-debits.list: View and manage direct debits
            direct-debits.readonly: View existing direct debits
            direct-debits.transaction.create: Create a direct debit transaction
            cards.list: View and manage cards
            cards.update: Update a card
            cards.create: Create a card
            loans.list: View and manage loans
            savings.list: View and manage savings
            savings.transactions.list: View and manage savings transactions

````