Xfers Repayments API

API for Repayment

OpenAPI Specification

xfers-repayments-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: Welcome to Xfers' API documentation. You can find information on our API endpoint specific to your country.
  version: '3'
  title: Xfers Bank Account Repayments API
  contact:
    name: Contact us through our help desk
    url: https://bit.ly/XfersSupport
servers:
- description: Indonesia Production
  url: https://id.xfers.com/api
- description: Indonesia Sandbox for testing
  url: https://sandbox-id.xfers.com/api
tags:
- name: Repayments
  description: API for Repayment
paths:
  /v3/loans/{loan_id}/repayments:
    post:
      operationId: createRepayment
      tags:
      - Repayments
      summary: Create Repayment
      description: Create a disbursement report to complete a loan disbursement process. We will pass this loan asynchronously and give callback after complete
      x-code-samples:
      - lang: Shell
        source: "curl --location --request POST \"{base_url}/loans/%3Cloan_id%3E/repayments\" \\\r\n  --header \"X-XFERS-USER-API-KEY: {{user-api-token}}\" \\\r\n  --header \"Content-Type: application/json\" \\\r\n  --form \"amount=1000.50\" \\\r\n  --form \"collection_fee=10.50\""
      security:
      - user-api-token: []
      parameters:
      - name: loan_id
        in: path
        description: Loan ID. You can find this from the response when you create loan.
        required: true
        explode: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              required:
              - amount
              - collection_fee
              - idempotency_id
              properties:
                amount:
                  type: string
                  description: amount of repayment
                collection_fee:
                  type: string
                  description: collection fee
                idempotency_id:
                  type: string
                  description: idempotency id to indicate your transaction
            examples:
              Request Body Example:
                summary: Request Body Example
                value:
                  amount: '1000.50'
                  collection_fee: '10.50'
                  idempotency_id: order_123
      responses:
        '200':
          description: Success
          content:
            application/json:
              example:
                loan_id: loan_c4f036668cf64d13a87beb8f15d12443
                id: loan_repayment_115f754273a940179a97ff3dd50c5b43
                status: payout_created
                amount: '1000.0'
                collection_fee: '11.0'
                idempotency_id: foo
                created_at: '2019-03-11T04:58:36.336Z'
                partner_bank_response: null
        4XX:
          $ref: '#/components/responses/v3Error:4XX'
    get:
      operationId: listRepayment
      tags:
      - Repayments
      summary: List Repayment
      description: Get the Details of a repayment given a loan id
      x-code-samples:
      - lang: Shell
        source: "curl --location --request GET \"{base_url}/loans/loan_c4f036668cf64d13a87beb8f15d12443/repayments\" \\\r\n  --header \"X-XFERS-USER-API-KEY: {{user-api-token}}\""
      security:
      - user-api-token: []
      parameters:
      - name: loan_id
        in: path
        description: Loan ID. You can find this from the response when you create loan.
        required: true
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              example:
                repayments:
                - loan_id: loan_7435c41941e443769e89f1895d3f8cf0
                  id: loan_repayment_6df5297f7b7f42e3b7802c52dc41ea0d
                  status: securing_funds_for_repayment
                  amount: '1000.5'
                  collection_fee: '10.5'
                  idempotency_id: order_tesuto_3
                  created_at: '2019-03-08T10:49:28.000Z'
                  partner_bank_response: null
                - loan_id: loan_7435c41941e443769e89f1895d3f8cf0
                  id: loan_repayment_247766f9538b4391a9c403be3e5eaba8
                  status: payout_created
                  amount: '1000.0'
                  collection_fee: '11.0'
                  idempotency_id: order_tesuto_5
                  created_at: '2019-03-08T11:36:28.000Z'
                  partner_bank_response: null
                - loan_id: loan_7435c41941e443769e89f1895d3f8cf0
                  id: loan_repayment_01cc189c469a4afd946af7f52b3d854f
                  status: payout_created
                  amount: '1000.0'
                  collection_fee: '11.0'
                  idempotency_id: order_tesuto_6
                  created_at: '2019-03-09T08:37:02.000Z'
                  partner_bank_response: null
                - loan_id: loan_7435c41941e443769e89f1895d3f8cf0
                  id: loan_repayment_1518735d4e544e3ea93571f2fdb1302a
                  status: payout_created
                  amount: '1000.0'
                  collection_fee: '11.0'
                  idempotency_id: order_tesuto_7
                  created_at: '2019-03-09T08:42:12.000Z'
                  partner_bank_response: null
                - loan_id: loan_7435c41941e443769e89f1895d3f8cf0
                  id: loan_repayment_62830518746b44669bff41d81a7d45ad
                  status: securing_funds_for_repayment
                  amount: '1000.0'
                  collection_fee: '11.0'
                  idempotency_id: order_tesuto_8
                  created_at: '2019-03-10T15:52:54.000Z'
                  partner_bank_response:
                    success: true
                    refno: NPM0JOR9955
                    accno: TK001.17
                    accountname: Aviandri
                    period: '1'
                    duedate: '2019-03-28'
                    installment: '1040666.67'
                    installfeeaccount: '0.0'
                    dpd: '-18'
                    osprincipal: '1000000.0'
                    osinterest: '40666.67'
                    ostotal: '1040666.67'
                    overdueprincipal: '0.0'
                    overdueinterest: '0.0'
                    overduetotal: '0.0'
                    penalty: '0.0'
                    overdueinstallfee: '0.0'
                    totaloverdueandpenalty: '0.0'
                    failurereason: null
                - loan_id: loan_7435c41941e443769e89f1895d3f8cf0
                  id: loan_repayment_edbe45f5c04c40569f00ec9c2d363840
                  status: securing_funds_for_repayment
                  amount: '1000.0'
                  collection_fee: '11.0'
                  idempotency_id: order_tesuto_9
                  created_at: '2019-03-11T04:11:23.000Z'
                  partner_bank_response:
                    success: true
                    refno: NPM0JOR9955
                    accno: TK001.17
                    accountname: Aviandri
                    period: '1'
                    duedate: '2019-03-28'
                    installment: '1039666.67'
                    installfeeaccount: '0.0'
                    dpd: '-17'
                    osprincipal: '1000000.0'
                    osinterest: '39666.67'
                    ostotal: '1039666.67'
                    overdueprincipal: '0.0'
                    overdueinterest: '0.0'
                    overduetotal: '0.0'
                    penalty: '0.0'
                    overdueinstallfee: '0.0'
                    totaloverdueandpenalty: '0.0'
                    failurereason: null
                - loan_id: loan_7435c41941e443769e89f1895d3f8cf0
                  id: loan_repayment_257e1d00314c44efb274edd9de791eff
                  status: completed
                  amount: '1000.0'
                  collection_fee: '11.0'
                  idempotency_id: order_tesuto_10
                  created_at: '2019-03-11T04:58:36.000Z'
                  partner_bank_response:
                    success: true
                    refno: NPM0JOR9955
                    accno: TK001.17
                    accountname: Aviandri
                    period: '1'
                    duedate: '2019-03-28'
                    installment: '1038666.67'
                    installfeeaccount: '0.0'
                    dpd: '-17'
                    osprincipal: '1000000.0'
                    osinterest: '38666.67'
                    ostotal: '1038666.67'
                    overdueprincipal: '0.0'
                    overdueinterest: '0.0'
                    overduetotal: '0.0'
                    penalty: '0.0'
                    overdueinstallfee: '0.0'
                    totaloverdueandpenalty: '0.0'
                    failurereason: null
        4XX:
          $ref: '#/components/responses/v3Error:4XX'
  /notify_repayment_callback:
    post:
      operationId: repaymentNotification
      description: This is Xfers' callback request to your server to notify repayment status
      summary: Repayment Notification Callback
      tags:
      - Repayments
      security: []
      servers:
      - url: http://yourserver.com
        description: This is your endpoint you set in the dashboard or notify_url
      requestBody:
        content:
          application/json:
            schema:
              properties:
                loand_id:
                  description: Loan ID
                  type: string
                  format: loan_XXX
                  example: loan_c4f036668cf64d13a87beb8f15d12443
                id:
                  description: the repayment id as provided
                  type: string
                  format: repayment_XXX
                  example: repayment_dfghjkiuyfdcbnmjhgfc
                status:
                  description: Status of repayment
                  type: string
                  enum:
                  - success
                  - failed
                  example: completed
                failure_reason:
                  description: Reason of failed. Will only available for "failed" status
                  type: string
                  example: Sample Error Message
                amount:
                  description: Repayment amount
                  type: string
                collection_fee:
                  description: collection fee
                  type: string
                idempotency_id:
                  description: The key you put in the repayment request
                  type: string
                created_at:
                  description: created at
                  type: string
                partner_bank_response:
                  description: Partner bank response
                  type: object
      responses:
        '200':
          description: Your server returns this code if it accepts the callback
  /v3/loans/{loan_id}/repayments/{loan_repayment_id}:
    get:
      operationId: getRepayment
      x-code-samples:
      - lang: Shell
        source: "curl --location --request GET \"{base_url}/loans/loan_c4f036668cf64d13a87beb8f15d12443/repayments/loan_repayment_115f754273a940179a97ff3dd50c5b43\" \\\r\n  --header \"X-XFERS-USER-API-KEY: {{user-api-token}}\""
      tags:
      - Repayments
      summary: Get Repayment
      description: Get the Detail of a repayment given its id
      security:
      - user-api-token: []
      parameters:
      - name: loan_id
        in: path
        description: Loan ID. You can find this from the response when you create loan.
        required: true
        explode: true
        schema:
          type: string
      - name: loan_repayment_id
        in: path
        description: Loan ID. You can find this from the response when you create loan.
        required: true
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              example:
                loan_id: loan_7435c41941e443769e89f1895d3f8cf0
                id: loan_repayment_257e1d00314c44efb274edd9de791eff
                status: completed
                amount: '1000.0'
                collection_fee: '11.0'
                idempotency_id: order_tesuto_10
                created_at: '2019-03-11T04:58:36.000Z'
                partner_bank_response:
                  success: true
                  refno: NPM0JOR9955
                  accno: TK001.17
                  accountname: Aviandri
                  period: '1'
                  duedate: '2019-03-28'
                  installment: '1038666.67'
                  installfeeaccount: '0.0'
                  dpd: '-17'
                  osprincipal: '1000000.0'
                  osinterest: '38666.67'
                  ostotal: '1038666.67'
                  overdueprincipal: '0.0'
                  overdueinterest: '0.0'
                  overduetotal: '0.0'
                  penalty: '0.0'
                  overdueinstallfee: '0.0'
                  totaloverdueandpenalty: '0.0'
                  failurereason: null
        4XX:
          $ref: '#/components/responses/v3Error:4XX'
  /v3/loans/repayments/reconciliations:
    post:
      operationId: repaymentRecon
      tags:
      - Repayments
      summary: Repayments Reconciliation
      description: Get Outstanding Repayments. Response of this reconciliation request will be in callback.
      x-code-samples:
      - lang: Shell
        source: "curl --location --request GET \"{base_url}/loans/loan_c4f036668cf64d13a87beb8f15d12443/repayments\" \\\r\n  --header \"X-XFERS-USER-API-KEY: {{user-api-token}}\""
      security:
      - X-XFERS-USER-API-KEY: []
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                page:
                  type: integer
                  default: 1
                  description: The page number of loan_reconciliation. Starts with 1. Automatically set to 1 if this is not present while per_page is present.
                per_page:
                  type: string
                  description: ' The amount of outstanding loans per page. If this is null or not present, will returns all outstanding loans.'
            examples:
              Request Body Example:
                summary: Request Body Example
                value:
                  page: '1'
                  per_page: '120000.0'
      responses:
        '200':
          description: Success
          content:
            application/json:
              example:
                RESULT:
                  CODE: '00'
                  DESC: OK
                  CURRENTPAGE: '1'
                  TOTALPAGES: '3'
                  TOTALROWS: '21'
                  OSPRINCIPALTOTAL: '30500000.0000'
                  OSINTERESTTOTAL: '15755626.1000'
                  PRINCIPALTOTAL: '48250000.0000'
                  INTERESTTOTAL: '15947580.2700'
                  DATA:
                  - RECONDATA:
                    - ROWNUMBER: '0'
                      REFNO: A6
                      OSPRINCIPALREAL: '0.0000'
                      OSINTERESTREAL: '0.0000'
                      DPD: '0'
                      ACCNO: TK001.1
                      BOOKINGDATE: '2019-02-25'
                      PRINCIPAL: '10000000.0000'
                      INTEREST: '100.0000'
                    - ROWNUMBER: '1'
                      REFNO: CVY0JOS6E9
                      OSPRINCIPALREAL: '0.0000'
                      OSINTERESTREAL: '0.0000'
                      DPD: '0'
                      ACCNO: TK001.6
                      BOOKINGDATE: '2019-03-01'
                      PRINCIPAL: '500000.0000'
                      INTEREST: '20833.3300'
                    - ROWNUMBER: '2'
                      REFNO: HUN0JOS7W7
                      OSPRINCIPALREAL: '0.0000'
                      OSINTERESTREAL: '0.0000'
                      DPD: '0'
                      ACCNO: TK001.9
                      BOOKINGDATE: '2019-03-01'
                      PRINCIPAL: '500000.0000'
                      INTEREST: '20833.3300'
                    - ROWNUMBER: '3'
                      REFNO: NPM0JOR9955
                      OSPRINCIPALREAL: '1000000.0000'
                      OSINTERESTREAL: '38666.6700'
                      DPD: '-21'
                      ACCNO: TK001.17
                      BOOKINGDATE: '2019-03-01'
                      PRINCIPAL: '1000000.0000'
                      INTEREST: '41666.6700'
                    - ROWNUMBER: '4'
                      REFNO: NPM0JOR9956
                      OSPRINCIPALREAL: '1000000.0000'
                      OSINTERESTREAL: '41666.6700'
                      DPD: '-21'
                      ACCNO: TK001.16
                      BOOKINGDATE: '2019-03-01'
                      PRINCIPAL: '1000000.0000'
                      INTEREST: '41666.6700'
                    - ROWNUMBER: '5'
                      REFNO: NPM0JOR9957
                      OSPRINCIPALREAL: '1000000.0000'
                      OSINTERESTREAL: '41666.6700'
                      DPD: '-21'
                      ACCNO: TK001.15
                      BOOKINGDATE: '2019-03-01'
                      PRINCIPAL: '1000000.0000'
                      INTEREST: '41666.6700'
                    - ROWNUMBER: '6'
                      REFNO: NPM0JOR996
                      OSPRINCIPALREAL: '1000000.0000'
                      OSINTERESTREAL: '41666.6700'
                      DPD: '-21'
                      ACCNO: TK001.18
                      BOOKINGDATE: '2019-03-01'
                      PRINCIPAL: '1000000.0000'
                      INTEREST: '41666.6700'
                    - ROWNUMBER: '7'
                      REFNO: NPM0JOR997
                      OSPRINCIPALREAL: '1000000.0000'
                      OSINTERESTREAL: '41666.6700'
                      DPD: '-21'
                      ACCNO: TK001.19
                      BOOKINGDATE: '2019-03-01'
                      PRINCIPAL: '1000000.0000'
                      INTEREST: '41666.6700'
                    - ROWNUMBER: '8'
                      REFNO: NPM0JOR998
                      OSPRINCIPALREAL: '1000000.0000'
                      OSINTERESTREAL: '41666.6700'
                      DPD: '-21'
                      ACCNO: TK001.20
                      BOOKINGDATE: '2019-03-01'
                      PRINCIPAL: '1000000.0000'
                      INTEREST: '41666.6700'
                    - ROWNUMBER: '9'
                      REFNO: NPM0JOR999
                      OSPRINCIPALREAL: '1000000.0000'
                      OSINTERESTREAL: '41666.6700'
                      DPD: '-21'
                      ACCNO: TK001.21
                      BOOKINGDATE: '2019-03-01'
                      PRINCIPAL: '1000000.0000'
                      INTEREST: '41666.6700'
        4XX:
          $ref: '#/components/responses/v3Error:4XX'
components:
  examples:
    XFE403:
      summary: XFE403 - ...
      value:
        error: string
        error_code: XFE403
        error_handling: '...'
    XFE111:
      summary: XFE1 - Duplicate credentials
      value:
        error: string
        error_code: XFE111
        error_handling: Particulars already exist. Please make sure you entered the correct parameters.
    XFE3:
      summary: XFE3 - Internal Error
      value:
        error: string
        error_code: XFE3
        error_handling: Unexpected error. Try again later or contact customer support at https://bit.ly/XfersSupport.
    XFE312:
      summary: XFE312 - Conditions not met to close account
      value:
        error: string
        error_code: XFE312
        error_handling: Invalid request to close account. Follow instruction in the response.
    XFE1:
      summary: XFE1 - Server busy
      value:
        error: string
        error_code: XFE1
        error_handling: Follow instructions in the response.
    XFE311:
      summary: XFE311 - Cannot be different wallet type
      value:
        error: string
        error_code: XFE311
        error_handling: Follow instruction in response or contact customer support at https://bit.ly/XfersSupport.
    XFE301:
      summary: XFE301 - Account locked
      value:
        error: string
        error_code: XFE301
        error_handling: Request not available. Please contact customer support at https://bit.ly/XfersSupport.
    XFE108:
      summary: XFE108 - More user information required
      value:
        error: string
        error_code: XFE108
        error_handling: Follow instructions in the response.
    XFE107:
      summary: XFE107 - Only enter one auth_code
      value:
        error: string
        error_code: XFE107
        error_handling: Do not enter both OTP or Google Auth OTP. Only need to enter one.
    XFE402:
      summary: XFE402 - Cannot use placeholder account
      value:
        error: string
        error_code: XFE402
        error_handling: Follow instructions in response.
    XFE502:
      summary: XFE502 - Unexpected BANK API error
      value:
        error: string
        error_code: XFE502
        error_handling: Try again later or contact customer support at https://bit.ly/XfersSupport.
    XFE106:
      summary: XFE106 - No auth_code provided
      value:
        error: string
        error_code: XFE106
        error_handling: Enter either phone OTP or Google Auth OTP
    XFE407:
      summary: XFE407 - Conditions to charge card not met
      value:
        error: string
        error_code: XFE407
        error_handling: Invalid request for this transaction. Make sure you entered the correct txn_id.
    XFE409:
      summary: XFE409 - Order id exist
      value:
        error: string
        error_code: XFE409
        error_handling: Please enter another order_id.
    XFE105:
      summary: XFE105 - Captcha error
      value:
        error: string
        error_code: XFE1
        error_handling: Follow instructions in the response.
    XFE404:
      summary: XFE404 - Forex not supported
      value:
        error: string
        error_code: XFE404
        error_handling: Make sure you call the correct API or contact customer support at https://bit.ly/XfersSupport.
    XFE102:
      summary: XFE102 - Entered value is less than minimum
      value:
        error: string
        error_code: XFE102
        error_handling: Make sure you entered the correct number.
    XFE109:
      summary: XFE109 - Invalid credentials
      value:
        error: string
        error_code: XFE109
        error_handling: Make sure you entered the correct credentials.
    XFE104:
      summary: XFE104 - Media provided too large
      value:
        error: string
        error_code: XFE104
        error_handling: Media too big. Follow the guidelines in the response.
    XFE15:
      summary: XFE15 - Required parameter empty
      value:
        error: string
        error_code: XFE15
        error_handling: Make sure you entered the correct required parameter.
    XFE14:
      summary: XFE14 - API only allowed for fully verified user
      value:
        error: string
        error_code: XFE14
        error_handling: Please submit KYC data to get your account fully verified.
    XFE2:
      summary: XFE2 - Access denied
      value:
        error: string
        error_code: XFE2
        error_handling: Make sure you call the correct API or contact customer support at https://bit.ly/XfersSupport.
    XFE506:
      summary: XFE506 - Bank account already taken
      value:
        error: string
        error_code: XFE506
        error_handling: Please use another bank account.
    XFE309:
      summary: XFE309 - Cannot use same account
      value:
        error: string
        error_code: XFE309
        error_handling: Follow instructions in the response.
    XFE13:
      summary: XFE13 - Record not found
      value:
        error: string
        error_code: XFE13
        error_handling: Please check that you provided the correct API Key and the correct parameters.
    XFE8:
      summary: XFE8 - Cannot retrieve media
      value:
        error: string
        error_code: XFE8
        error_handling: Cannot retrieve media. Please enter a new URL or try again later.
    XFE7:
      summary: XFE7 - Database error
      value:
        error: string
        error_code: XFE7
        error_handling: Follow instructions in the response.
    XFE408:
      summary: XFE408 - Invalid charge request
      value:
        error: string
        error_code: XFE408
        error_handling: Invalid request. Please follow instructions in response or contact customer support at https://bit.ly/XfersSupport.
    XFE302:
      summary: XFE302 - Account deleted
      value:
        error: string
        error_code: XFE302
        error_handling: Request not available. Please contact customer support at https://bit.ly/XfersSupport.
    XFE201:
      summary: XFE201 - Not yet a merchant
      value:
        error: string
        error_code: XFE201
        error_handling: Please verify your merchant or business account.
    XFE103:
      summary: XFE103 - ...
      value:
        error: string
        error_code: XFE103
        error_handling: Follow instructions in the response.
    XFE406:
      summary: XFE406 - Cannot refund prepaid transaction
      value:
        error: string
        error_code: XFE406
        error_handling: Please choose another transaction to refund.
    XFE401:
      summary: XFE401 - Cannot refund charge
      value:
        error: string
        error_code: XFE401
        error_handling: Invalid request. Please call another API or Contact customer support at https://bit.ly/XfersSupport.
    XFE503:
      summary: XFE503 - Failed name check
      value:
        error: string
        error_code: XFE503
        error_handling: Bank account name and name provided have to be similar.
    XFE410:
      summary: XFE410 - Invalid application fee
      value:
        error: string
        error_code: XFE410
        error_handling: Invalid request. Please make changes to the parameters as stated in the response.
    XFE304:
      summary: XFE304- Account closed
      value:
        error: string
        error_code: XFE304
        error_handling: Request not available. Please contact customer support at https://bit.ly/XfersSupport.
    XFE110:
      summary: XFE110 - Cannot sign up twice
      value:
        error: string
        error_code: XFE110
        error_handling: Please sign in instead
    XFE504:
      summary: XFE504 - Maximum number of bank account
      value:
        error: string
        error_code: XFE504
        error_handling: Delete existing bank accounts.
    XFE16:
      summary: XFE16 - Invalid request
      value:
        error: string
        error_code: XFE16
        error_handling: API request not supported. Make sure you entered the correct API key or contact customer support at https://bit.ly/XfersSupport.
    XFE310:
      summary: XFE310 - Cannot use same account
      value:
        error: string
        error_code: XFE310
        error_handling: Follow instructions in the response.
    XFE9:
      summary: XFE9 - ....
      value:
        error: string
        error_code: XFE9
        error_handling: '...'
    XFE601:
      summary: XFE601 - Conditions to withdraw not met. Can be solved by changing amount
      value:
        error: string
        error_code: XFE601
        error_handling: Your withdrawal does not meet the conditions required. Please follow the instructions in the response.
    XFE10:
      summary: XFE10 - Invalid environment
      value:
        error: string
        error_code: XFE10
        error_handling: Request not supported for this environment.
    XFE4:
      summary: XFE4 - Authentication field empty
      value:
        error: string
        error_code: XFE4
        error_handling: Follow instructions in the response.
    XFE307:
      summary: XFE307 - ...
      value:
        error: string
        error_code: XFE307
        error_handling: '...'
    XFE303:
      summary: XFE303 - Account terminated
      value:
        error: string
        error_code: XFE303
        error_handling: Request not available. Please contact customer support at https://bit.ly/XfersSupport.
    XFE101:
      summary: XFE101 - Not local number
      value:
        error: string
        error_code: XFE101
        error_handling: Follow instructions in the response.
    XFE405:
      summary: XFE405 - Charge cannot be refunded
      value:
        error: string
        error_code: XFE405
        error_handling: Only completed contract can be refunded.
    XFE505:
      summary: XFE505 - Bank abbrev provided invalid
      value:
        error: string
        error_code: XFE505
        error_handling: Use GET {{base-api-url}}api/v3/banks to get the correct bank abbrev.
    XFE6:
      summary: XFE6 - Invalid signature
      value:
        error: string
        error_code: XFE6
        error_handling: Follow instructions in the response.
    XFE5:
      summary: XFE5 - Api key is invalid
      value:
        error: string
        error_code: XFE5
        error_handling: Make sure you entered the correct API key or contact customer support at https://bit.ly/XfersSupport
    XFE603:
      summary: XFE603 - Not allowed to carry out request
      value:
        error: string
        error_code: XFE603
        error_handling: Invalid request. Please call another API or contact customer support at https://bit.ly/XfersSupport.
    XFE12:
      summary: XFE12 - Invalid parameter
      value:
        error: string
        error_code: XFE12
        error_handling: Make sure you entered the correct parameters.
    XFE306:
      summary: XFE306 - ...
      value:
        error: string
        error_code: XFE306
        error_handling: '...'
    XFE602:
      summary: XFE602 - Server busy
      value:
        error: string
        error_code: XFE602
        error_handling: Your withdrawal exceeds the limit for the time period. Please change the amount or verify your account.
    XFE11:
      summary: XFE11 - Timeout
      value:
        error: string
        error_code: XFE11
        error_handling: Please try again later.
    XFE308:
      summary: XFE308 - ...
      value:
        error: string
        error_code: XFE308
        error_handling: '...'
    XFE501:
      summary: XFE501 - Expected Bank API error
      value:
        error: string
        error_code: XFE501
        error_handling: Try again later or contact customer support at https://bit.ly/XfersSupport.
    XFE112:
      summary: XFE112 - Repeat request
      value:
        error: string
        error_code: XFE112
        error_handling: API request has already been made. Please follow the instructions in the response or call aother API.
    XFE305:
      summary: XFE305 - ....
      value:
        error: string
        error_code: XFE305
        error_handling: '...'
  schemas:
    error_response:
      type: object
      properties:
        error:
          description: Error Message
          type: string
        error_code:
          description: Xfers' error code XFEXXX
          type: string
        error_handling:
          description: Instruction on how to handle error. Refer to Error Codes tag for more information.
          type: string
  responses:
    v3Error:4XX:
      description: List of possible errors
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error_response'
          examples:
            XFE1:
              $ref: '#/components/examples/XFE1'
            XFE2:
              $ref: '#/components/examples/XFE2'
            XFE3:
              $ref: '#/components/examples/XFE3'
            XFE4:
              $ref: '#/components/examples/XFE4'
            XFE5:
              $ref: '#/components/examples/XFE5'
            XFE6:
              $ref: '#/components/examples/XFE6'
            XFE7:
              $ref: '#/components/examples/XFE7'
            XFE8:
              $ref: '#/components/examples/XFE8'
            XFE9:
              $ref: '#/components/examples/XFE9'
            XFE10:
              $ref: '#/components/examples/XFE10'
            XFE11:
              $ref: '#/components/examples/XFE11'
            XFE12:
              $ref: '#/components/examples/XFE12'
            XFE13:
              $ref: '#/components/examples/XFE13'
            XFE14:
              $ref: '#/components/examples/XFE14'
            XFE15:
              $ref: '#/components/examples/XFE15'
            XFE16:
              $ref: '#/components/examples/XFE16'
 

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/xfers/refs/heads/main/openapi/xfers-repayments-api-openapi.yml