Danske Bank (UK) Direct Debits API

The Direct Debits API from Danske Bank (UK) — 1 operation(s) for direct debits.

Operations 1

GET /accounts/{AccountId}/direct-debits Get Direct Debits #

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/danske-bank-uk-direct-debits-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

danske-bank-uk-direct-debits-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Account and Transaction - UK OB Direct Debits API
  description: Retrieve account details and transaction information.
  version: 4.0.0
servers:
- description: prod Environment
  url: https://obp-api.danskebank.com/open-banking/v4.0/aisp
tags:
- name: Direct Debits
paths:
  /accounts/{AccountId}/direct-debits:
    get:
      tags:
      - Direct Debits
      summary: Get Direct Debits
      operationId: GetAccountsAccountIdDirectDebits
      security:
      - BearerAuth: []
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/x-fapi-auth-date'
      - $ref: '#/components/parameters/x-fapi-customer-ip-address'
      - $ref: '#/components/parameters/x-fapi-interaction-id'
      - $ref: '#/components/parameters/x-customer-user-agent'
      responses:
        '200':
          $ref: '#/components/responses/200AccountsAccountIdDirectDebitsRead'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
        '503':
          $ref: '#/components/responses/503Error'
components:
  schemas:
    OBFrequency6Code:
      description: 'For a full list of values see `OBFrequency6Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets) Values supported by Danske Bank: YEAR, FRTN, MNTH, QURT, MIAN, WEEK, WODL, TWMH, NONE. Value NONE is used in DirectDebits only. Danske Bank: Interpreted in combination with ''PointInTime'': https://developers.danskebank.com/documentation/regulatory_apis/instruction_details#standing_order_frequencies'
      type: string
      example: MNTH
      enum:
      - YEAR
      - FRTN
      - MNTH
      - QURT
      - MIAN
      - WEEK
      - WODL
      - TWMH
      - NONE
    Name_2:
      description: Name of Service User.
      type: string
      minLength: 1
      maxLength: 70
    PreviousPaymentDateTime:
      description: 'Date of most recent direct debit collection. All dates in the JSON payloads are represented in ISO 8601 date-time format.  All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00

        '
      type: string
      format: date-time
    Links:
      description: Links relevant to the payload
      type: object
      additionalProperties: false
      required:
      - Self
      properties:
        Self:
          type: string
          format: uri
        First:
          type: string
          format: uri
        Prev:
          type: string
          format: uri
        Next:
          type: string
          format: uri
        Last:
          type: string
          format: uri
    OBMandateRelatedInformation1:
      type: object
      description: Provides further details of the mandate signed between the creditor and the debtor.
      required:
      - Frequency
      properties:
        MandateIdentification:
          description: Unique identification, as assigned by the creditor, to unambiguously identify the mandate.
          type: string
          example: Golfers
          minLength: 1
          maxLength: 35
        Classification:
          $ref: '#/components/schemas/OBExternalMandateClassification1Code'
        CategoryPurposeCode:
          $ref: '#/components/schemas/ExternalCategoryPurpose1Code'
        FirstPaymentDateTime:
          description: The date on which the first payment for a recurrent credit transfer will be made.
          example: '2024-04-25T12:46:49.425Z'
          type: string
          format: date-time
        RecurringPaymentDateTime:
          description: 'The date on which the first recurring payment for a Standing Order schedule will be made.  Usage: This must be populated only if the first recurring date is different to the first payment date. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00'
          type: string
          example: '2024-04-25T12:46:49.425Z'
          format: date-time
        FinalPaymentDateTime:
          description: The date on which the final payment for a recurrent credit transfer will be made.
          type: string
          example: '2024-04-25T12:46:49.425Z'
          format: date-time
        Frequency:
          $ref: '#/components/schemas/OBFrequency6'
        Reason:
          description: Reason for the setup of the credit transfer mandate.
          type: string
          example: To pay monthly membership
          maxLength: 256
          minLength: 1
    Meta:
      title: MetaData
      description: Meta Data relevant to the payload
      type: object
      additionalProperties: false
      properties:
        TotalPages:
          type: integer
          format: int32
        FirstAvailableDateTime:
          $ref: '#/components/schemas/ISODateTime'
        LastAvailableDateTime:
          $ref: '#/components/schemas/ISODateTime'
    OBError1:
      type: object
      minProperties: 1
      additionalProperties: false
      required:
      - ErrorCode
      properties:
        ErrorCode:
          $ref: '#/components/schemas/OBExternalStatusReason1Code'
        Message:
          description: 'A description of the error that occurred. e.g., ''A mandatory field isn''t supplied'' or ''RequestedExecutionDateTime must be in future'' OBIE doesn''t standardise this field

            '
          type: string
          minLength: 1
          maxLength: 500
        Path:
          description: Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency
          type: string
          minLength: 1
          maxLength: 500
        Url:
          description: URL to help remediate the problem, or provide more information, or to API Reference, or help etc
          type: string
    OBReadDirectDebit2:
      type: object
      additionalProperties: false
      required:
      - Data
      properties:
        Data:
          type: object
          properties:
            DirectDebit:
              type: array
              items:
                type: object
                description: Account to or from which a cash entry is made.
                required:
                - AccountId
                - Name
                properties:
                  AccountId:
                    $ref: '#/components/schemas/AccountId'
                  DirectDebitId:
                    $ref: '#/components/schemas/DirectDebitId'
                  DirectDebitStatusCode:
                    $ref: '#/components/schemas/ExternalMandateStatus1Code'
                  MandateRelatedInformation:
                    $ref: '#/components/schemas/OBMandateRelatedInformation1'
                  Name:
                    $ref: '#/components/schemas/Name_2'
                  PreviousPaymentDateTime:
                    $ref: '#/components/schemas/PreviousPaymentDateTime'
                  PreviousPaymentAmount:
                    $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_0'
        Links:
          $ref: '#/components/schemas/Links'
        Meta:
          $ref: '#/components/schemas/Meta'
    OBActiveCurrencyAndAmount_SimpleType:
      description: A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
      type: string
      pattern: ^\d{1,13}$|^\d{1,13}\.\d{1,5}$
    DirectDebitId:
      description: A unique and immutable identifier used to identify the direct debit resource. This identifier has no meaning to the account owner.
      type: string
      minLength: 1
      maxLength: 40
    ExternalMandateStatus1Code:
      description: Specifies the status of the standing order in code form. For a full list of enumeration values refer to 'ExternalMandateStatus1Code' in *ISO_External_Codeset* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
      type: string
      enum:
      - ACTV
      - CANC
      - EXPI
      - SUSP
      example: ACTV
    OBActiveOrHistoricCurrencyAndAmount_0:
      description: The amount of the most recent direct debit collection.
      type: object
      required:
      - Amount
      - Currency
      properties:
        Amount:
          $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType'
        Currency:
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
    OBErrorResponse1:
      description: An array of detail error codes, and messages, and URLs to documentation to help remediation.
      type: object
      additionalProperties: false
      required:
      - Errors
      properties:
        Id:
          description: A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.
          type: string
          minLength: 1
          maxLength: 40
        Errors:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/OBError1'
    OBExternalMandateClassification1Code:
      description: Type of mandate instruction. For a full list of values see `OBExternalMandateClassification1Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
      type: string
      example: FIXE
      enum:
      - FIXE
      - USGB
      - VARI
    ExternalCategoryPurpose1Code:
      description: Enumeration of codes that outlines the type of purpose behind a transaction, payment or risk.  For all enum values see `ExternalCategoryPurpose1Code` in *ISO_External_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
      type: string
      enum:
      - BONU
      - CASH
      - CBLK
      - CCRD
      - CORT
      - DCRD
      - DIVI
      - DVPM
      - EPAY
      - FCIN
      - FCOL
      - GP2P
      - GOVT
      - HEDG
      - ICCP
      - IDCP
      - INTC
      - INTE
      - LBOX
      - LOAN
      - MP2B
      - MP2P
      - OTHR
      - PENS
      - RPRE
      - RRCT
      - RVPM
      - SALA
      - SECU
      - SSBE
      - SUPP
      - TAXS
      - TRAD
      - TREA
      - VATX
      - WHLD
      - SWEP
      - TOPG
      - ZABA
      - VOST
      - FCDT
      - CIPC
      - CONC
      - CGWV
    AccountId:
      description: A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.
      type: string
      minLength: 1
      maxLength: 40
    ActiveOrHistoricCurrencyCode_1:
      description: A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 'Codes for the representation of currencies and funds'.
      type: string
      pattern: ^[A-Z]{3,3}$
    OBExternalStatusReason1Code:
      description: Low level textual error code, for all enum values see `ExternalReason1Code` [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
      type: string
      minLength: 4
      maxLength: 4
      example: AC17
    OBFrequency6:
      description: Regularity with which credit transfer instructions are to be created and processed
      type: object
      required:
      - Type
      properties:
        Type:
          $ref: '#/components/schemas/OBFrequency6Code'
        CountPerPeriod:
          description: 'Number of instructions to be created and processed during the specified period. Specifies a frequency in terms of a count per period within a specified frequency type. Note: should not be used alongside `PointInTime`'
          type: integer
          example: 1
          format: int32
        PointInTime:
          $ref: '#/components/schemas/PointInTime'
    PointInTime:
      description: 'Exact2NumericText - Further information on the exact point in time the event should take place. Specifies a frequency in terms of an exact point in time or moment within a specified frequency type. Note: should not be used alongside `CountPerPeriod`. Danske Bank: Interpreted in combination with ''Type'': https://developers.danskebank.com/documentation/regulatory_apis/instruction_details#standing_order_frequencies'
      type: string
      example: '00'
      maxLength: 2
    ISODateTime:
      description: 'All dates in the JSON payloads are represented in ISO 8601 date-time format.  All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00

        '
      type: string
      format: date-time
  parameters:
    AccountId:
      name: AccountId
      in: path
      description: AccountId
      required: true
      schema:
        type: string
    x-customer-user-agent:
      name: x-customer-user-agent
      in: header
      description: Indicates the user-agent that the PSU is using.
      required: false
      schema:
        type: string
    x-fapi-auth-date:
      name: x-fapi-auth-date
      in: header
      description: 'The time when the PSU last logged in with the TPP.  All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below:  Sun, 10 Sep 2017 19:43:31 UTC

        '
      required: false
      schema:
        type: string
        pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$
    x-fapi-customer-ip-address:
      name: x-fapi-customer-ip-address
      in: header
      description: The PSU's IP address if the PSU is currently logged in with the TPP.
      required: false
      schema:
        type: string
    x-fapi-interaction-id:
      name: x-fapi-interaction-id
      in: header
      description: An RFC4122 UID used as a correlation id.
      required: false
      schema:
        type: string
  responses:
    404Error:
      description: Not found
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
    400Error:
      description: Bad request
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/OBErrorResponse1'
    503Error:
      description: Service temporary unavailable
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/OBErrorResponse1'
    406Error:
      description: Not Acceptable
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
    403Error:
      description: Forbidden
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/OBErrorResponse1'
    200AccountsAccountIdDirectDebitsRead:
      description: Direct Debits Read
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/OBReadDirectDebit2'
    405Error:
      description: Method Not Allowed
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
    500Error:
      description: Internal Server Error
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/OBErrorResponse1'
    401Error:
      description: Unauthorized
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
    429Error:
      description: Too Many Requests
      headers:
        Retry-After:
          description: Number in seconds to wait
          required: true
          schema:
            type: integer
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT