Howler Bank Account API

The Bank Account API from Howler — 3 operation(s) for bank account.

OpenAPI Specification

howler-bank-account-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Howler API v3 Artists Bank Account API
  version: 3.6.1
  description: '*Last updated: 2026-01-20 21:15:49 +0200*

    '
servers:
- url: https://{defaultHost}/api/v3/consumer_portal
  variables:
    defaultHost:
      default: www.howler.co.za
  description: Server for consumer portal endpoints
security:
- bearer_header: []
  bearer_param: []
  api_key: []
  bearer_auth: []
tags:
- name: Bank Account
paths:
  /bank_account/edit:
    get:
      summary: edit bank account
      operationId: editConsumerBankAccount
      parameters:
      - name: show_auto_cashout
        in: query
        description: show_auto_cashout
        schema:
          type: boolean
      - name: cashless_tag_pairing_id
        in: query
        required: false
        schema:
          type: integer
      tags:
      - Bank Account
      description: 'Renders a webpage to allow the user to complete their bank account details. The user can also enable auto cashouts from this page.


        Once the user has successfully updated their details a redirect will be done to a specific URL.

        '
      responses:
        '200':
          description: successful without auto cashout
  /bank_account:
    get:
      summary: show bank account details
      operationId: showConsumerBankAccount
      tags:
      - Bank Account
      description: Returns the current bank account details of the authenticated user.
      security:
      - oauth2: []
      responses:
        '200':
          description: successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  bank_account:
                    type:
                    - object
                    - 'null'
                    properties:
                      id:
                        type: integer
                      type:
                        type: string
                      bank_name:
                        type: string
                      account_number:
                        type: string
                      account_type:
                        type: string
                      account_holder:
                        type: string
                      branch_code:
                        type: string
                      bank_country:
                        type: string
                      payment_method:
                        type: string
                  auto_cashout:
                    type: boolean
    post:
      summary: create bank account
      operationId: createConsumerBankAccount
      tags:
      - Bank Account
      description: Creates or updates bank account details for the authenticated user.
      security:
      - oauth2: []
      parameters: []
      responses:
        '422':
          description: unprocessable entity
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                payment_method:
                  type: string
                  example: Bank transfer
                bank_country:
                  type: string
                  example: South Africa
                bank_name:
                  type: string
                  example: Standard Bank
                account_number:
                  type: string
                  example: '62146101811'
                account_holder:
                  type: string
                  example: John Doe
                branch_code:
                  type: string
                  example: 08067100
                account_type:
                  type: string
                  example: cheque
                auto_cashout:
                  type: boolean
                  example: true
        required: true
    put:
      summary: update bank account
      operationId: updateConsumerBankAccount
      tags:
      - Bank Account
      description: '**Private API**

        This end-point should only ever be called using by the web page rendered using the GET version of this end-point.

        '
      parameters: []
      responses:
        '302':
          description: successful with redirect context
        '200':
          description: failed
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties: {}
              required: []
        required: true
  /bank_account/refresh_form:
    post:
      summary: refresh bank account form layout
      operationId: refreshConsumerBankAccountForm
      tags:
      - Bank Account
      description: '**Private API**

        This end-point should only ever be called using by the web page rendered using the GET version of this end-point.

        '
      parameters: []
      responses:
        '200':
          description: successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  account_type:
                    type: string
                  fields:
                    type: array
                    items:
                      type: object
                required:
                - account_type
                - fields
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                bank_account:
                  type: object
                  properties:
                    bank_account_attributes:
                      type: object
                  required:
                  - bank_account_attributes
                country:
                  type: string
                account_type:
                  type: string
              required:
              - bank_account
        required: true
components:
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth2 authentication for third-party applications
      flows:
        authorizationCode:
          authorizationUrl: /oauth/authorize
          tokenUrl: /oauth/token
          scopes:
            public: Public scope
            login: Login scope
            ott: One-time token scope
    bearer_header:
      type: http
      scheme: bearer
      bearerFormat: oauth2
      in: header
    bearer_param:
      type: apiKey
      scheme: bearer
      bearerFormat: oauth2
      name: bearer_token
      in: query
    jwt_header:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT token obtained from basic authentication login
    jwt_param:
      type: apiKey
      name: bearer_token
      in: query
      description: JWT token as query parameter (alternative to Authorization header)
    basic_auth:
      type: http
      scheme: basic
      description: Basic authentication with email and password
    api_key:
      type: apiKey
      name: x-auth-token
      in: header
      description: API key authentication
    bearer_auth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT token authentication