FlowAccount Contact API

The Contact API from FlowAccount — 4 operation(s) for contact.

OpenAPI Specification

flowaccount-contact-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: FlowAccount Open BatchImport Contact API
  version: 1.0.0
servers:
- url: https://openapi.flowaccount.com/sandbox
  description: The sandbox server
- url: https://openapi.flowaccount.com/v3-alpha
  description: The prod server
security:
- bearer: []
tags:
- name: Contact
paths:
  /api/{culture}/contacts/search:
    get:
      tags:
      - Contact
      operationId: Contact_Search
      parameters:
      - name: culture
        in: path
        required: true
        schema:
          type: string
        x-position: 1
      responses:
        '200':
          description: ''
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
      security:
      - bearer: []
  /api/{culture}/contacts:
    get:
      tags:
      - Contact
      operationId: Contact_GetContactList
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
          nullable: true
        x-position: 1
      - name: culture
        in: path
        required: true
        schema:
          type: string
        x-position: 2
      responses:
        '200':
          description: ''
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
      security:
      - bearer: []
    post:
      tags:
      - Contact
      operationId: Contact_Create
      parameters:
      - name: culture
        in: path
        required: true
        schema:
          type: string
        x-position: 2
      requestBody:
        x-name: requestModel
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContactResult'
        required: true
        x-position: 1
      responses:
        '200':
          description: ''
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
      security:
      - bearer: []
  /api/{culture}/contacts/{id}:
    get:
      tags:
      - Contact
      operationId: Contact_GetContactList2
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
          nullable: true
        x-position: 1
      - name: culture
        in: path
        required: true
        schema:
          type: string
        x-position: 2
      responses:
        '200':
          description: ''
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
      security:
      - bearer: []
    put:
      tags:
      - Contact
      operationId: Contact_Update
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
        x-position: 2
      - name: culture
        in: path
        required: true
        schema:
          type: string
        x-position: 3
      requestBody:
        x-name: requestModel
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContactResult'
        required: true
        x-position: 1
      responses:
        '200':
          description: ''
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
      security:
      - bearer: []
    delete:
      tags:
      - Contact
      operationId: Contact_RemoveContact
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
        x-position: 1
      - name: culture
        in: path
        required: true
        schema:
          type: string
        x-position: 2
      responses:
        '200':
          description: ''
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
      security:
      - bearer: []
  /api/{culture}/contacts/{contactId}/update-contact-qrcode:
    post:
      tags:
      - Contact
      operationId: Contact_UploadContactQRCode
      parameters:
      - name: contactId
        in: path
        required: true
        schema:
          type: integer
          format: int64
        x-position: 1
      - name: culture
        in: path
        required: true
        schema:
          type: string
        x-position: 2
      responses:
        '200':
          description: ''
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
      security:
      - bearer: []
components:
  schemas:
    BankAccountType:
      type: integer
      description: '1 = SavingAccount

        3 = CurrentAccount

        5 = CreditCardAccount

        7 = DepositAccount'
      x-enumNames:
      - SavingAccount
      - CurrentAccount
      - CreditCardAccount
      - DepositAccount
      enum:
      - 1
      - 3
      - 5
      - 7
    PayrollPreferences:
      type: object
      additionalProperties: false
      properties:
        companyId:
          type: integer
          format: int64
        isSocialSecurityRegistered:
          type: boolean
        employerAccountNumber:
          type: string
          nullable: true
        employerAccountBranch:
          type: string
          nullable: true
        kCorporateClientCode:
          type: string
          nullable: true
        kCorporateAccountNumber:
          type: string
          nullable: true
        payrollBankAccountId:
          type: integer
          format: int64
          nullable: true
        kConnect_ProductCode:
          $ref: '#/components/schemas/KConnectProductCode'
        overtimePND:
          type: integer
          format: int32
          nullable: true
        commissionPND:
          type: integer
          format: int32
          nullable: true
        bonusPND:
          type: integer
          format: int32
          nullable: true
        allowancePND:
          type: integer
          format: int32
          nullable: true
        colaPND:
          type: integer
          format: int32
          nullable: true
        medicalExpensePND:
          type: integer
          format: int32
          nullable: true
        accommodationPND:
          type: integer
          format: int32
          nullable: true
        directorRemunerationPND:
          type: integer
          format: int32
          nullable: true
        otherAdditionPND:
          type: integer
          format: int32
          nullable: true
        accessKConnect:
          type: boolean
    Contact:
      type: object
      additionalProperties: false
      properties:
        id:
          type: integer
          format: int64
        nameLocal:
          type: string
          nullable: true
        nameForeign:
          type: string
          nullable: true
        addressLocal:
          type: string
          nullable: true
        addressForeign:
          type: string
          nullable: true
        addressLocalLine2:
          type: string
          nullable: true
        addressForeignLine2:
          type: string
          nullable: true
        addressLocalLine3:
          type: string
          nullable: true
        addressForeignLine3:
          type: string
          nullable: true
        branch:
          type: string
          nullable: true
        branchForeign:
          type: string
          nullable: true
        companyTaxId:
          type: string
          nullable: true
        fax:
          type: string
          nullable: true
        phone1:
          type: string
          nullable: true
        phone2:
          type: string
          nullable: true
        phone3:
          type: string
          nullable: true
        websites:
          type: string
          nullable: true
        createdOn:
          type: string
          format: date-time
        modifiedOn:
          type: string
          format: date-time
        modifiedBy:
          type: integer
          format: int64
        isDelete:
          type: boolean
        isDefault:
          type: boolean
        logoImage:
          type: string
          nullable: true
        defaultCreditDays:
          type: integer
          format: int32
          nullable: true
        vatRate:
          type: integer
          format: int32
        email:
          type: string
          nullable: true
        contactPerson:
          type: string
          nullable: true
        isActive:
          type: boolean
        contactType:
          $ref: '#/components/schemas/ContactTypes'
        contactGroup:
          $ref: '#/components/schemas/ContactGroups'
        remarks:
          type: string
          nullable: true
        galleryId:
          type: integer
          format: int64
          nullable: true
        branchCode:
          type: string
          maxLength: 50
          minLength: 0
          nullable: true
        transactionId:
          type: string
          maxLength: 50
          minLength: 0
          nullable: true
        resetTransactionId:
          type: integer
          format: int64
          nullable: true
        contactCode:
          type: string
          nullable: true
        internalNotes:
          type: string
          nullable: true
        shippingAddress:
          type: string
          nullable: true
        zipCode:
          type: string
          nullable: true
        swiftCode:
          type: string
          nullable: true
        bankAddress:
          type: string
          nullable: true
        useForeignBank:
          type: boolean
          nullable: true
        isMigrate:
          type: boolean
    ProductNonInventoryType:
      type: integer
      description: '1 = NonStockProduct

        3 = SparepartProduct

        5 = SampleProduct

        7 = FreemiumProduct

        9 = SupplyProduct

        11 = OthersProduct'
      x-enumNames:
      - NonStockProduct
      - SparepartProduct
      - SampleProduct
      - FreemiumProduct
      - SupplyProduct
      - OthersProduct
      enum:
      - 1
      - 3
      - 5
      - 7
      - 9
      - 11
    TemplateFont:
      type: integer
      description: '1 = ChatThai

        3 = Rsu'
      x-enumNames:
      - ChatThai
      - Rsu
      enum:
      - 1
      - 3
    ReceivableInvoice:
      allOf:
      - $ref: '#/components/schemas/Document2'
      - type: object
        additionalProperties: false
        required:
        - companyId
        - createdOn
        - modifiedOn
        - publishedOn
        - documentDate
        properties:
          id:
            type: integer
            format: int64
          contactId:
            type: integer
            format: int64
          companyId:
            type: integer
            format: int64
          status:
            $ref: '#/components/schemas/ReceivableInvoiceStatus'
          createdOn:
            type: string
            format: date-time
            default: CURRENT_TIMESTAMP
            minLength: 1
          modifiedOn:
            type: string
            format: date-time
            default: CURRENT_TIMESTAMP
            minLength: 1
          publishedOn:
            type: string
            format: date-time
            default: CURRENT_TIMESTAMP
            minLength: 1
          documentDate:
            type: string
            format: date-time
            default: CURRENT_TIMESTAMP
            minLength: 1
          published:
            type: boolean
          approved:
            type: boolean
          approvedBy:
            type: integer
            format: int64
            nullable: true
          approvedByClientId:
            type: integer
            format: int64
            nullable: true
          approvedImageUrl:
            type: string
            nullable: true
          documentSerial:
            type: string
            nullable: true
          remarks:
            type: string
            nullable: true
          name:
            type: string
            nullable: true
          value:
            type: number
            format: decimal
          dueDate:
            type: string
            format: date-time
            nullable: true
          expectedDate:
            type: string
            format: date-time
            nullable: true
          createdBy:
            type: integer
            format: int64
          documentId:
            type: string
            nullable: true
          isDelete:
            type: boolean
          vatRate:
            type: integer
            format: int32
          internalNotes:
            type: string
            nullable: true
          galleryId:
            type: integer
            format: int64
            nullable: true
          isVatInclusive:
            type: boolean
          salesId:
            type: integer
            format: int64
            nullable: true
          salesName:
            type: string
            nullable: true
          roundingAdjustment:
            type: number
            format: decimal
          isInlineDiscount:
            type: boolean
            default: false
          isInlineVat:
            type: boolean
            default: false
          tax:
            type: number
            format: decimal
            nullable: true
          documentSerialNoPrefix:
            type: integer
            format: int64
            nullable: true
          vatValue:
            type: number
            format: decimal
            nullable: true
          resetTransactionId:
            type: integer
            format: int64
            nullable: true
          contact:
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/Contact'
          approvedByClient:
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/User'
          company:
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/Company'
          createdByUser:
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/User'
          approvedByUser:
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/User'
          sales:
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/User'
          gallery:
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/Gallery'
          inlineVatValue:
            type: number
            format: decimal
          inlineDiscountValue:
            type: number
            format: decimal
          ruleCompileStatus:
            $ref: '#/components/schemas/RuleCompileStatus'
          runningNumberType:
            type: integer
            format: int32
          runningModifiedOn:
            type: string
            format: date-time
            nullable: true
          exemptAmount:
            type: number
            format: decimal
          vatableAmount:
            type: number
            format: decimal
          totalAfterDiscount:
            type: number
            format: decimal
          subTotal:
            type: number
            format: decimal
          documentReferences:
            type: array
            nullable: true
            items:
              $ref: '#/components/schemas/IDocumentReference'
          referencedToMe:
            type: array
            nullable: true
            items:
              $ref: '#/components/schemas/IDocumentReference'
          referencedByMe:
            type: array
            nullable: true
            items:
              $ref: '#/components/schemas/IDocumentReference'
          statusInt:
            type: integer
            format: int32
          isReCalculate:
            type: boolean
          partialPaymentMethod:
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/PartialPaymentMethod'
          vatAmount:
            type: number
            format: decimal
            nullable: true
          isMigrate:
            type: boolean
    ReceivableInvoiceStatus:
      type: integer
      description: '1 = Awaiting

        3 = Approved

        5 = ApprovedAndProcessed

        7 = Void

        9 = Delete'
      x-enumNames:
      - Awaiting
      - Approved
      - ApprovedAndProcessed
      - Void
      - Delete
      enum:
      - 1
      - 3
      - 5
      - 7
      - 9
    IBookOfAccount:
      type: object
      x-abstract: true
      additionalProperties: false
      properties:
        journalEntryId:
          type: integer
          format: int64
        companyId:
          type: integer
          format: int64
        debitCredit:
          $ref: '#/components/schemas/FinancialTransactionType'
        bookOfAccountStatus:
          $ref: '#/components/schemas/BookOfAccountStatus'
        chartOfAccountId:
          type: integer
          format: int64
        postedDate:
          type: string
          format: date-time
          nullable: true
        createdOn:
          type: string
          format: date-time
        modifiedOn:
          type: string
          format: date-time
        approvedOn:
          type: string
          format: date-time
          nullable: true
        value:
          type: number
          format: decimal
        balance:
          type: number
          format: decimal
        excludeVoidBalance:
          type: number
          format: decimal
        rowNumber:
          type: integer
          format: int32
        description:
          type: string
          nullable: true
        descriptionForeign:
          type: string
          nullable: true
        chartOfAccountName:
          type: string
          nullable: true
        journalEntry:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/IJournalEntryBase'
        chartOfAccount:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/IChartOfAccount'
    PaymentChannel:
      type: integer
      description: '1 = Omise

        3 = InAppIOS

        5 = InAppAndriod

        7 = UssdAis

        9 = BankTranfer

        11 = PrePaidSerial'
      x-enumNames:
      - Omise
      - InAppIOS
      - InAppAndriod
      - UssdAis
      - BankTranfer
      - PrePaidSerial
      enum:
      - 1
      - 3
      - 5
      - 7
      - 9
      - 11
    Media:
      type: object
      additionalProperties: false
      required:
      - url
      properties:
        id:
          type: integer
          format: int32
        url:
          type: string
          maxLength: 255
          minLength: 0
        description:
          type: string
          maxLength: 255
          minLength: 0
          nullable: true
        orderNumber:
          type: integer
          format: int32
          nullable: true
        createdOn:
          type: string
          format: date-time
          nullable: true
        isDisplay:
          type: boolean
        isDeleted:
          type: boolean
        galleryId:
          type: integer
          format: int64
          nullable: true
        mediaType:
          type: integer
          format: int32
        companyId:
          type: integer
          format: int64
        userId:
          type: integer
          format: int64
        path:
          type: string
          nullable: true
        company:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/Company'
        gallery:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/Gallery'
        user:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/User'
    Document2:
      type: object
      additionalProperties: false
    ContactTypes:
      type: integer
      description: '0 = OwnCompany

        3 = Client

        5 = Vendor

        7 = VendorAndClient

        9 = ExpenseVendor'
      x-enumNames:
      - OwnCompany
      - Client
      - Vendor
      - VendorAndClient
      - ExpenseVendor
      enum:
      - 0
      - 3
      - 5
      - 7
      - 9
    UpgradeType:
      type: integer
      description: '1 = Upgrade

        3 = Renew

        5 = ChangePackage'
      x-enumNames:
      - Upgrade
      - Renew
      - ChangePackage
      enum:
      - 1
      - 3
      - 5
    DocumentReferenceTypes:
      type: integer
      description: '1 = ImportDocument

        3 = PartialPayments

        5 = Batch

        7 = Etax

        9 = MiigratePartialPayments

        11 = BatchPartialPayments

        13 = DepositFirst

        15 = DepositLast'
      x-enumNames:
      - ImportDocument
      - PartialPayments
      - Batch
      - Etax
      - MiigratePartialPayments
      - BatchPartialPayments
      - DepositFirst
      - DepositLast
      enum:
      - 1
      - 3
      - 5
      - 7
      - 9
      - 11
      - 13
      - 15
    CompanySubscription:
      type: object
      additionalProperties: false
      properties:
        id:
          type: integer
          format: int64
        companyId:
          type: integer
          format: int64
        packageId:
          type: integer
          format: int32
        packageStatus:
          $ref: '#/components/schemas/PackageStatus'
        transactionDate:
          type: string
          format: date-time
        transactionId:
          type: string
          nullable: true
        expirationDate:
          type: string
          format: date-time
        couponId:
          type: integer
          format: int32
          nullable: true
        paidBy:
          type: integer
          format: int64
        createdOn:
          type: string
          format: date-time
        modifiedOn:
          type: string
          format: date-time
        days:
          type: integer
          format: int32
        packageDays:
          type: integer
          format: int32
        quantity:
          type: integer
          format: int32
          nullable: true
        type:
          $ref: '#/components/schemas/UpgradeType'
        paymentChannel:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/PaymentChannel'
        value:
          type: number
          format: decimal
          nullable: true
        isWithheld:
          type: boolean
        withheld:
          type: number
          format: decimal
          nullable: true
        internalFile:
          type: string
          nullable: true
        invoiceId:
          type: integer
          format: int64
          nullable: true
        remarks:
          type: string
          nullable: true
        isRequestInvoice:
          type: boolean
          nullable: true
        addOn:
          type: string
          nullable: true
        packageList:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/PackageList'
        paySlipImageDate:
          type: string
          format: date-time
          nullable: true
        paySlipImageTime:
          type: string
          format: time-span
          nullable: true
        paySlipImageAmount:
          type: number
          format: decimal
          nullable: true
        paySlipImageContact:
          type: string
          nullable: true
    JournalEntryTemplateType:
      type: integer
      description: '1 = Default

        3 = DocumentCreated

        5 = Payment

        7 = ChequeDate

        9 = TaxNoRefund

        11 = VATManagementHistory'
      x-enumNames:
      - Default
      - DocumentCreated
      - Payment
      - ChequeDate
      - TaxNoRefund
      - VATManagementHistory
      enum:
      - 1
      - 3
      - 5
      - 7
      - 9
      - 11
    FinancialTransactionType:
      type: integer
      description: '1 = Debit

        3 = Credit'
      x-enumNames:
      - Debit
      - Credit
      enum:
      - 1
      - 3
    PackageList:
      type: object
      additionalProperties: false
      required:
      - packageName
      - configuration
      properties:
        id:
          type: integer
          format: int32
        packageName:
          type: string
          minLength: 1
        description:
          type: string
          nullable: true
        configuration:
          type: string
          minLength: 1
        remarks:
          type: string
          nullable: true
        displayNameTH:
          type: string
          nullable: true
        displayNameEN:
          type: string
          nullable: true
    CompanyPreferences:
      type: object
      additionalProperties: false
      required:
      - invoicePrefix
      - quotationPrefix
      - billingNotePrefix
      - receiptPrefix
      - purchaseOrderPrefix
      - cashInvoicePrefix
      - receivableInvoicePrefix
      - purchaseOrderTitleEN
      - quotationTitleEN
      - billingNoteTitleEN
      - invoiceTitleEN
      - receiptTitleEN
      - paymentSlipTitleEN
      - purchaseOrderTitleTH
      - quotationTitleTH
      - billingNoteTitleTH
      - invoiceTitleTH
      - receiptTitleTH
      - paymentSlipTitleTH
      - cashInvoiceTitleEN
      - cashInvoiceTitleTH
      - receivableInvoiceTitleTH
      - receivableInvoiceTitleEN
      - withHoldingTaxPrefix
      - purchasePrefix
      - purchaseTitleEN
      - purchaseTitleTH
      - adjustInventoryPrefix
      - expensePrefix
      - paymentSlipPrefix
      - creditNotePrefix
      - creditNoteTitleEN
      - creditNoteTitleTH
      - debitNotePrefix
      - debitNoteTitleEN
      - debitNoteTitleTH
      - journalVoucherPrefix
      - purchaseVoucherPrefix
      - salesVoucherPrefix
      - paymentVoucherPrefix
      - receivedVoucherPrefix
      - conversionBalancePrefix
      properties:
        companyId:
          type: integer
          format: int64
        showWithHolding:
          type: boolean
          default: false
        invoicePrefix:
          type: string
          maxLength: 6
          minLength: 0
        quotationPrefix:
          type: string
          maxLength: 6
          minLength: 0
        billingNotePrefix:
          type: string
          maxLength: 6
          minLength: 0
        receiptPrefix:
          type: string
          maxLength: 6
          minLength: 0
        purchaseOrderPrefix:
          type: string
          maxLength: 6
          minLength: 0
        cashInvoicePrefix:
          type: string
          maxLength: 6
          minLength: 0
        receivableInvoicePrefix:
          type: string
          maxLength: 6
          minLength: 0
        cashInvoiceStartingNumber:
          type: integer
          format: int64
        receiptStartingNumber:
          type: integer
          format: int64
        quotationStartingNumber:
          type: integer
          format: int64
        billingNoteStartingNumber:
          type: integer
          format: int64
        purchaseOrderStartingNumber:
          type: integer
          format: int64
        purchaseOrderTitleEN:
          type: string
          maxLength: 2147483647
          minLength: 0
        quotationTitleEN:
          type: string
          maxLength: 2147483647
          minLength: 0
        billingNoteTitleEN:
          type: string
          maxLength: 2147483647
          minLength: 0
        invoiceTitleEN:
          type: string
          maxLength: 2147483647
          minLength: 0
        receiptTitleEN:
          type: string
          maxLength: 2147483647
          minLength: 0
        paymentSlipTitleEN:
          type: string
          maxLength: 2147483647
          minLength: 0
        purchaseOrderTitleTH:
          type: string
          maxLength: 2147483647
          minLength: 0
        quotationTitleTH:
          type: string
          maxLength: 2147483647
          minLength: 0
        billingNoteTitleTH:
          type: string
          maxLength: 2147483647
          minLength: 0
        invoiceTitleTH:
          type: string
          maxLength: 2147483647
          minLength: 0
        receiptTitleTH:
          type: string
          maxLength: 2147483647
          minLength: 0
        paymentSlipTitleTH:
          type: string
          maxLength: 2147483647
          minLength: 0
        businessType:
          $ref: '#/components/schemas/BusinessType'
        termsAgreement:
          type: string
          maxLength: 2147483647
          minLength: 0
          nullable: true
        defaultRemarks:
          type: string
          maxLength: 2147483647
          minLength: 0
          nullable: true
        invoiceStartingNumber:
          type: integer
          format: int64
        cashInvoiceTitleEN:
          type: string
          maxLength: 2147483647
          minLength: 0
        cashInvoiceTitleTH:
          type: string
          maxLength: 2147483647
          minLength: 0
        receivableInvoiceTitleTH:
          type: string
          maxLength: 2147483647
          minLength: 0
        receivableInvoiceTitleEN:
          type: string
          maxLength: 2147483647
          minLength: 0
        runningNumberType:
          $ref: '#/components/schemas/RunningNumberType'
        purchaseOrderStartingYear:
          type: integer
          format: int32
          nullable: true
        quotationStartingYear:
          type: integer
          format: int32
          nullable: true
        billingNoteStartingYear:
          type: integer
          format: int32
          nullable: true
        invoiceStartingYear:
          type: integer
          format: int32
          nullable: true
        cashInvoiceStartingYear:
          type: integer
          format: int32
          nullable: true
        receiptStartingYear:
          type: integer
          format: int32
          nullable: true
        purchaseOrderStartingMonth:
          type: integer
          format: int32
          nullable: true
        quotationStartingMonth:
          type: integer
          format: int32
          nullable: true
        billingNoteStartingMonth:
          type: integer
          format: int32
          nullable: true
        invoiceStartingMonth:
          type: integer
          format: int32
          nullable: true
        cashInvoiceStartingMonth:
          type: integer
          format: int32
          nullable: true
        receiptStartingMonth:
          type: integer
          format: int32
          nullable: true
        settingsInitiated:
          type: boolean
          default: false
        runningNumberSettingsModifiedOn:
          type: string
          format: date-time
          nullable: true
        withHoldingTaxPrefix:
          type: string
          maxLength: 6
          minLength: 0
        withHoldingTaxStartingNumber:
          type: integer
          format: int32
        withHoldingTaxStartingMonth:
          type: integer
          format: int32
          nullable: true
        withHoldingTaxStartingYear:
          type: integer
          format: int32
          nullable: true
        documentTemplates:
          $ref: '#/components/schemas/DocumentTemplates'
        printColor:
          type: boolean
          default: true
        templateFont:
          $ref: '#/components/schemas/TemplateFont'
        printOneInvoice:
          type: boolean
          default: false
        remarks:
          type: string
          maxLength: 2147483647
          minLength: 0
          nullable: true
        emailMessageTemplate:
          type: string
          maxLength: 2147483647
          minLength: 0
          nullable: true
        purchasePrefix:
          type: string
          maxLength: 6
          minLength: 0
        purchaseStartingNumber:
          type: integer
          format: int64
        purchaseTitleEN:
          type: string
          maxLength: 2147483647
          minLength: 0
        purchaseTitleTH:
          type: string
          maxLength: 2147483647
          minLength: 0
        purchaseStartingYear:
          type: integer
          format: int32
          nullable: true
        purchaseStartingMonth:
          type: integer
          format: int32
          nullable: true
        adjustInventoryPrefix:
          type: string
          maxLength: 6
          minLength: 0
        adjustInventoryStartingNumber:
          type: integer
          format: int32
        adjustInventoryStartingMonth:
          type: integer
          format: int32
          nullable: true
  

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