Weavr Accounts API

The Accounts API from Weavr — 2 operation(s) for accounts.

OpenAPI Specification

weavr-accounts-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  version: v3
  title: Weavr Multi Product BackOffice Access Token Accounts API
  x-logo:
    url: https://storage.googleapis.com/weavr-cdn/weavr_logo-new.png
    backgroundColor: '#FFFFFF'
    altText: Weavr
  description: 'Weavr Multi Back Office API allows you, as an innovator, to perform various back office operations concerning

    identities and their instruments, without requiring the users to be logged in.


    A token is to be obtained through the `access_token` method, and this will allow relevant operations

    to be performed on behalf of this same identity.

    '
  contact:
    name: Weavr
    url: https://weavr.io
servers:
- description: Weavr Sandbox Environment
  url: https://sandbox.weavr.io/multi/backoffice
tags:
- name: Accounts
paths:
  /accounts/{account_id}/deposit:
    post:
      tags:
      - Accounts
      summary: Simulate incoming wire transfer using account id
      description: This tool is a quick and easy way to put funds on a Managed Account (previously called ‘deposit’), that you may need for testing elsewhere. Provide account id and transaction amount and the transaction will be processed through the system. This method skips some of the steps when processing IWTs. To test this fully, please use the accounts_deposit endpoint.
      operationId: accounts_account_id_deposit
      parameters:
      - name: account_id
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: integer
          format: int64
      - $ref: '#/components/parameters/call-ref'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DepositRequestByAccountId'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DepositResponse0'
        '400':
          description: Invalid Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientInvalidRequest'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultError'
      security:
      - API_Secret_Key: []
  /accounts/deposit:
    post:
      tags:
      - Accounts
      summary: Simulate an incoming wire transfer using IBAN
      description: This tool is used to simulate incoming wire transfers (IWT) into managed accounts. IWTs are processed in line with the configuration of your application. For EUR and USD IWTs provide the destinationIbanDetails of your Managed Account, for GBP IWTs provide destinationFasterPaymentDetails or destinationIbanDetails of your Managed Account. Sender Details can also be added that is used to identify whether the IWT originated from a Linked Account (if configured) or a third party.
      operationId: accounts_deposit
      parameters:
      - $ref: '#/components/parameters/call-ref'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DepositRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DepositResponse1'
        '400':
          description: Invalid Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientInvalidRequest'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultError'
      security:
      - API_Secret_Key: []
components:
  schemas:
    CurrencyAmount:
      required:
      - currency
      type: object
      properties:
        currency:
          maxLength: 3
          minLength: 3
          pattern: ^[A-Z]*$
          type: string
          description: The currency ISO-4217 code, i.e. a three letter uppercase code, such as GBP, EUR, USD.
          x-fieldValidation: required size(3,3) regex([A-Z]*)
        amount:
          type: integer
          description: The monetary amount, scaled to the lowest denomination of the currency. For example, an amount of 1000 for a EUR currency is actually 1000 Euro cents, i.e. EUR 10.00.
          format: int64
      description: A message representing a monetary amount in a particular currency.
    DepositResponseDepositResponseCode0:
      type: string
      enum:
      - COMPLETED
      - DENIED_ACCOUNT_NOT_FOUND
      - DENIED_AMOUNT_NOT_POSITIVE
      - DENIED_CURRENCY_NOT_ACCOUNT_CURRENCY
      - DENIED_ACCOUNT_INACTIVE
      - DENIED_INVALID_TX_ID
      - DENIED_OTHER
    AccountDescriptorDetails:
      required:
      - accountDescriptor
      type: object
      properties:
        accountDescriptor:
          maxLength: 50
          type: string
          description: An identifier of an account that has neither an IBAN nor Faster Payments details.
          x-fieldValidation: required size(_,50)
    ClientInvalidRequest:
      type: object
      properties:
        message:
          maxLength: 255
          type: string
          description: When present helps to identify and fix the problem.
          x-fieldValidation: size(_,255)
        validation:
          allOf:
          - $ref: '#/components/schemas/MessageValidation'
          - description: Description of fields which were invalid.
    DepositRequest:
      required:
      - depositAmount
      type: object
      properties:
        iban:
          type: string
          description: The iban of the account the incoming wire transfer should be processed against
          deprecated: true
        paymentReference:
          type: string
          description: The payment reference is needed to identify which account, in cases where the same iban is used
        depositAmount:
          allOf:
          - $ref: '#/components/schemas/CurrencyAmount'
          - description: The amount of the incoming wire transfer
            x-fieldValidation: required
        senderName:
          type: string
          description: The name of the person or business sending the incoming wire transfer
        reference:
          type: string
          description: A reference provided by the sender of the incoming wire transfer.
        receiverName:
          type: string
          description: The name of the recipient of the incoming wire transfer
        txId:
          type: integer
          description: Id used for the transaction if provided, otherwise one will be generated
          format: int64
        senderIbanDetails:
          $ref: '#/components/schemas/IbanDetails'
        senderFasterPaymentsDetails:
          $ref: '#/components/schemas/FasterPaymentsDetails'
        senderAccountDescriptorDetails:
          $ref: '#/components/schemas/AccountDescriptorDetails'
        destinationIbanDetails:
          $ref: '#/components/schemas/IbanDetails'
        destinationFasterPaymentsDetails:
          $ref: '#/components/schemas/FasterPaymentsDetails'
        paymentNetwork:
          allOf:
          - $ref: '#/components/schemas/TransferType'
          - description: Optional field which indicates the payment network to use. If not provided, a default payment network will be chosen based on the currency.
    FasterPaymentsBankDetails:
      required:
      - accountNumber
      - sortCode
      type: object
      properties:
        accountNumber:
          maxLength: 8
          minLength: 8
          pattern: ^[0-9]{8}$
          type: string
          description: Account number, required for wire transfer over Faster Payments.
          x-fieldValidation: required size(8,8) regex(^[0-9]{8}$)
        sortCode:
          maxLength: 6
          minLength: 6
          pattern: ^[0-9]{6}$
          type: string
          description: Sort code, required for wire transfer over Faster Payments.
          x-fieldValidation: required size(6,6) regex(^[0-9]{6}$)
    IbanDetails:
      required:
      - iban
      type: object
      properties:
        iban:
          pattern: ^[A-Z0-9]*$
          type: string
          x-fieldValidation: required regex([A-Z0-9]*)
        bankIdentifierCode:
          pattern: ^[A-Z0-9]*$
          type: string
          x-fieldValidation: regex([A-Z0-9]*)
    DepositRequestByAccountId:
      required:
      - depositAmount
      type: object
      properties:
        depositAmount:
          allOf:
          - $ref: '#/components/schemas/CurrencyAmount'
          - description: The amount of the incoming wire transfer
            x-fieldValidation: required
        senderName:
          type: string
          description: The name of the person or business sending the incoming wire transfer
        reference:
          type: string
          description: The reference is the transaction description
        receiverName:
          type: string
          description: The name of the recipient of the incoming wire transfer
        txId:
          type: integer
          description: Id used for the transaction if provided, otherwise one will be generated
          format: int64
        senderIban:
          maxLength: 50
          pattern: ^[a-zA-Z0-9_-]+$
          type: string
          x-fieldValidation: size(_,50) regex(^[a-zA-Z0-9_-]+$)
        sepa:
          $ref: '#/components/schemas/IBANDetails'
        fasterPayments:
          $ref: '#/components/schemas/FasterPaymentsBankDetails'
        accountDescriptor:
          $ref: '#/components/schemas/AccountDescriptorDetails'
        paymentNetwork:
          allOf:
          - $ref: '#/components/schemas/TransferType'
          - description: Optional field which indicates the payment network to use. If not provided, a default payment network will be chosen based on the currency.
    IBANDetails:
      required:
      - iban
      type: object
      properties:
        iban:
          maxLength: 34
          minLength: 15
          pattern: ^[A-Z]{2}[0-9]{2}[A-Z0-9]{11,30}$
          type: string
          description: International Bank Account Number, required for wire transfer over SEPA or RIX
          x-fieldValidation: required size(15,34) regex(^[A-Z]{2}[0-9]{2}[A-Z0-9]{11,30}$)
        bankIdentifierCode:
          maxLength: 11
          minLength: 8
          pattern: ^[a-zA-Z0-9]{4}[a-zA-Z]{2}[a-zA-Z0-9]{2}[a-zA-Z0-9]{0,3}$
          type: string
          description: BIC, for wire transfer over SEPA or RIX
          x-fieldValidation: size(8,11) regex(^[a-zA-Z0-9]{4}[a-zA-Z]{2}[a-zA-Z0-9]{2}[a-zA-Z0-9]{0,3}$)
    DepositResponse1:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/DepositResponseDepositResponseCode0'
    FasterPaymentsDetails:
      required:
      - accountNumber
      - sortCode
      type: object
      properties:
        sortCode:
          maxLength: 6
          minLength: 6
          pattern: ^[0-9]*$
          type: string
          x-fieldValidation: required size(6,6) regex([0-9]*)
        accountNumber:
          pattern: ^[0-9]*$
          type: string
          x-fieldValidation: required regex([0-9]*)
        secondaryReference:
          type: string
          description: Supplementary identifier used by financial institutions for accounts without unique sort codes, ensuring distinction between different accounts or customers
    DepositResponse0:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/DepositResponseDepositResponseCode1'
    MessageValidation:
      type: object
      properties:
        invalid:
          type: boolean
        fields:
          type: array
          items:
            $ref: '#/components/schemas/FieldValidationErrors'
    TransferType:
      type: string
      enum:
      - SEPA
      - FASTER_PAYMENTS
      - SWIFT
      - BACS
      - CHAPS
      - RIX
    FieldValidationType:
      type: string
      enum:
      - REQUIRED
      - HAS_TEXT
      - REQUIRES
      - SIZE
      - RANGE
      - IN
      - NOT_IN
      - REGEX
      - EXACTLY
      - AT_LEAST
      - AT_MOST
      - ALL_OR_NONE
    DefaultError:
      type: object
      properties:
        message:
          maxLength: 255
          type: string
          description: When present helps to identify and fix the problem.
          x-fieldValidation: size(_,255)
      description: A default error model in case of errors other than 400, 409 or 504.
    DepositResponseDepositResponseCode1:
      type: string
      enum:
      - COMPLETED
      - DENIED_ACCOUNT_NOT_FOUND
      - DENIED_AMOUNT_NOT_POSITIVE
      - DENIED_CURRENCY_NOT_ACCOUNT_CURRENCY
      - DENIED_ACCOUNT_INACTIVE
      - DENIED_INVALID_TX_ID
      - DENIED_OTHER
      - DENIED_ACCOUNT_NOT_UPGRADED_TO_IBAN
    FieldValidation:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/FieldValidationType'
        params:
          type: array
          items:
            type: string
    FieldValidationErrors:
      type: object
      properties:
        name:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/FieldValidation'
  parameters:
    call-ref:
      name: call-ref
      in: header
      description: A call reference generated by the caller and unique to the caller to provide correlation between the caller and system with a maximum length of 255
      required: false
      style: simple
      explode: false
      schema:
        type: string
  securitySchemes:
    api_key:
      type: apiKey
      description: The API Key representing your Multi account.
      name: api-key
      in: header
    auth_token:
      type: http
      description: The authentication token representing the user. This will be included in the login response object.
      scheme: bearer
      bearerFormat: JWT
x-tagGroups:
- name: Access
  tags:
  - Access Token
  - User Impersonation
  - Consent Request
- name: Identities
  tags:
  - Corporates
  - Consumers
- name: User Management
  tags:
  - Authorised Users
- name: Instruments
  tags:
  - Managed Accounts
  - Managed Cards
- name: Transactions
  tags:
  - Transfers
- name: Fees
  tags:
  - Fees
- name: Bulk Operations [Beta]
  tags:
  - Operations
  - Manage