Veem open-account-controller API

Open Account Controller

OpenAPI Specification

veem-open-account-controller-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: Veem REST API
  title: Veem API v1.2 attachment-controller open-account-controller API
  version: v1.2.1
servers:
- url: //sandbox-api.veem.com
tags:
- description: Open Account Controller
  name: open-account-controller
paths:
  /veem/v1.2/account:
    post:
      deprecated: false
      operationId: createAccountUsingPOST
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenAccountRequest'
        description: request
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetUpAccountResponse'
          description: Created
      summary: createAccount
      tags:
      - open-account-controller
  /veem/v1.2/account/{accountId}/setting:
    post:
      deprecated: false
      description: Creates or updates account settings for a specific account
      operationId: createOrUpdateAccountSettingsUsingPOST
      parameters:
      - description: The account ID
        in: path
        name: accountId
        required: true
        schema:
          format: int64
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicAccountSettingsRequest'
        description: Account settings request
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicAccountSettingResponse'
          description: Success, account settings have been created or updated
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request, invalid request data
        '401':
          description: Unauthorized, the token is invalid or expired
        '403':
          description: Forbidden, the token owner doesn't have permission to operate current API
        '404':
          description: Not Found, the resource not found
        '500':
          description: Internal Server Error, see the error code and API doc for reference
      summary: createOrUpdateAccountSettings
      tags:
      - open-account-controller
  /veem/v1.2/account/{accountId}:
    patch:
      deprecated: false
      operationId: editAccountUsingPATCH
      parameters:
      - description: accountId
        in: path
        name: accountId
        required: true
        schema:
          format: int64
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAccountRequest'
        description: request
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetUpAccountResponse'
          description: OK
      summary: editAccount
      tags:
      - open-account-controller
    get:
      deprecated: false
      operationId: getAccountUsingGET
      parameters:
      - description: accountId
        in: path
        name: accountId
        required: true
        schema:
          format: int64
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetUpAccountResponse'
          description: OK
      summary: getAccount
      tags:
      - open-account-controller
components:
  schemas:
    UpdateAccountRequest:
      properties:
        address:
          $ref: '#/components/schemas/Address'
        businessEntity:
          type: string
        businessName:
          type: string
        dialCode:
          type: string
        displayName:
          type: string
        firstName:
          type: string
        industry:
          type: string
        isoCountryCode:
          type: string
        lastName:
          type: string
        phoneNumber:
          type: string
        subIndustry:
          type: string
        taxIdNumber:
          type: string
      title: UpdateAccountRequest
      type: object
    ErrorResponse:
      properties:
        code:
          description: The error code, different than HTTP status codes
          format: int32
          type: integer
        error:
          description: The short message
          type: string
        message:
          description: The detailed, developer friendly message
          type: string
        timestamp:
          description: The timestamp recorded when the error occurred
          type: string
      required:
      - code
      - error
      - message
      title: ErrorResponse
      type: object
    PublicAccountSettingResponse:
      properties:
        accountId:
          description: The account ID this setting belongs to
          format: int64
          type: integer
        type:
          description: The type of account setting
          type: string
        value:
          description: The value for the account setting
          type: string
      title: PublicAccountSettingResponse
      type: object
    PublicAccountSettingsRequest:
      properties:
        type:
          description: The type of account setting
          enum:
          - PAYEE_COVERS_CARD_FEE
          - CREDIT_CARD_SENDING_FEE_RATE
          - DEBIT_CARD_SENDING_FEE_RATE
          type: string
        value:
          description: The value for the account setting
          type: string
      required:
      - type
      title: PublicAccountSettingsRequest
      type: object
    Address:
      properties:
        city:
          type: string
        countryCode:
          type: string
        postalCode:
          type: string
        province:
          type: string
        street:
          type: string
        streetSecondary:
          type: string
      title: Address
      type: object
    JSONObject:
      title: JSONObject
      type: object
    OpenAccountRequest:
      properties:
        address:
          $ref: '#/components/schemas/Address'
        bankInfo:
          $ref: '#/components/schemas/JSONObject'
        businessEntity:
          type: string
        businessName:
          type: string
        dateOfBirth:
          format: date
          pattern: yyyy-MM-dd
          type: string
        dialCode:
          type: string
        email:
          type: string
        extraInfo:
          $ref: '#/components/schemas/ExtraInfo'
        extraName:
          type: string
        firstName:
          type: string
        industry:
          type: string
        isoCountryCode:
          type: string
        lastName:
          type: string
        middleName:
          type: string
        phoneNumber:
          type: string
        subIndustry:
          type: string
        taxIdNumber:
          type: string
      required:
      - email
      title: OpenAccountRequest
      type: object
    ExtraInfo:
      properties:
        purposeOfPayment:
          type: string
        purposeOfPaymentDescription:
          type: string
      title: ExtraInfo
      type: object
    SetUpAccountResponse:
      properties:
        accountSetUpStatus:
          type: string
        clientId:
          type: string
        clientSecret:
          type: string
        email:
          type: string
        expiresIn:
          format: int32
          type: integer
        id:
          format: int64
          type: integer
        missingInformation:
          items:
            type: string
          type: array
        token:
          type: string
        userId:
          format: int64
          type: integer
        verificationStatus:
          type: string
      title: SetUpAccountResponse
      type: object