> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dualentry.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Merge vendors

> Merge the duplicate vendors in `source_vendor_ids` into the vendor in `target_vendor_id`.

`field_sources` and `custom_field_sources` select the vendor whose value the survivor keeps for each field. A field that they do not name keeps the survivor value. When the survivor value is empty, the field gets the first duplicate value. Bank and payment details always stay on the survivor. You cannot undo a merge.

**Side effects**

* DualEntry moves all records, attachments and company access of the duplicate vendors to the survivor vendor.
* DualEntry archives the duplicate vendors and sets their merged\_into\_id to the survivor vendor.
* When the survivor takes the name of a duplicate vendor, DualEntry adds `(merged into <survivor code>)` to the name of that duplicate.
* DualEntry sets each changed open 1099 run back to draft. Compute these runs again.
* DualEntry sends one core.vendor/merged webhook event for each duplicate vendor.

**Additional validations**

* Fails with 422 if a vendor is an intercompany vendor, if the vendors have different tax IDs, tax registrations or subsidiaries, or if a 1099 run for these vendors is in progress.
* Fails with 422 if the merge must move or read more than 20,000 rows, if the API key cannot access a company where the duplicate vendors have records, if the merge gives the survivor access to companies that the API key cannot access, or if the selected company\_access does not include a company where the vendors have records.
* Fails with 422 if field\_sources or custom\_field\_sources selects a vendor that is not part of the merge, or an unknown custom field.
* Fails with 409 if another merge uses one of the vendors.
* Fails with 417 and changes no data if the merge does not finish in 25 seconds.


## OpenAPI

````yaml /developers/openapi/resources-v2.json post /public/v2/vendors/merge/
openapi: 3.1.0
info:
  title: DualEntry Public API
  version: 2.0.0
  description: ''
servers:
  - url: https://api.dualentry.com
    description: Production environment
security: []
tags:
  - name: Health
    description: >-
      Monitor API availability and service status. Use these endpoints to verify
      connectivity and check if the API is operational.
  - name: Webhooks
    description: >-
      Register webhook endpoints to receive real-time event notifications when
      records change in your organization. Manage subscriptions, view available
      topics, and inspect delivery history.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Accounts
    description: >-
      Manage your chart of accounts. Create and maintain the accounts used to
      categorize financial transactions, including assets, liabilities, equity,
      revenue, and expenses.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Reporting
    description: >-
      Reporting facts and balances: account balances as of a date; paginated
      general-ledger lines; dense trial-balance facts (account x company x
      month); chart-of-accounts facts; and consolidated rates. Row shapes match
      the `general_ledger`, `trial_balance`, `chart_of_accounts`, and
      `consolidated_rates` tables in your data export.
  - name: Budgets
    description: >-
      Read income statement and balance sheet budget settings. Monthly cell
      values, actuals comparisons, and accounts are available through separate
      budget routes.
  - name: Companies
    description: >-
      Access and manage company information. Retrieve details about your
      organization including legal name, tax identifiers, addresses, and
      accounting preferences.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Period Locks
    description: >-
      Period locks for bills, invoices, other ledger activity, non-ledger
      records, and tax schedules.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Payment Methods
    description: >-
      List payment methods. Filter by id to resolve payment_method_id on a
      payment record. V2 API only.
  - name: Customers
    description: >-
      Manage customer records. Create, update, and track customers who purchase
      goods or services from your organization, including contact information,
      billing addresses, and payment terms.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Contracts
    description: >-
      Manage revenue recognition contracts. Create, retrieve, and update
      contracts with performance obligations, manage obligation usage, and
      create change orders (v2).


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Items
    description: >-
      Manage products and services. Define items that appear on invoices and
      bills, including pricing, descriptions, and associated accounts for
      revenue or expense tracking.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Vendors
    description: >-
      Manage vendor and supplier records. Track businesses and individuals from
      whom you purchase goods or services, including contact details, payment
      terms, and tax information.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Journal Entries
    description: >-
      Create and manage manual journal entries. Create and update post a general
      ledger transaction.


      A reversal date posts a reversing transaction. Book ids assign accounting
      books. An aging reason on an accounts receivable or accounts payable line
      excludes that line from aging. The save can link a related journal entry
      and an accrual template.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Invoices
    description: >-
      Manage sales invoices. Create and track invoices sent to customers for
      goods or services rendered, including line items, taxes, discounts, and
      payment status.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Quotes
    description: >-
      Create, submit, and send CPQ quotes, with line billing frequencies,
      multi-year ramps, recipients and signing order, and totals by billing
      frequency. Requires the CPQ subscription.


      Save a quote with `record_status` `posted` to submit it for approval.
      Approvers approve or reject it in DualEntry.


      Send your own quote PDF. This API does not render one.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Sales Orders
    description: >-
      Create and manage sales orders. Track customer orders for goods or
      services before invoicing, including line items, quantities, fulfillment
      status, and invoicing progress.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Bills
    description: >-
      Manage vendor bills and payables. Record and track bills received from
      vendors for goods or services purchased, including line items, due dates,
      and payment tracking.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Customer Prepayments
    description: >-
      Track advance payments from customers. Access prepayments received before
      goods or services are delivered, which can be applied to future invoices.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Customer Prepayment Applications
    description: >-
      Apply customer prepayments and credits to invoices. Record applications of
      prepayments or credit memos to reduce invoice balances.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Customer Deposits
    description: >-
      Manage customer deposit transactions. Record and track deposits received
      from customers as security or partial payment, held in liability accounts
      until earned or refunded.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Customer Refunds
    description: >-
      Process and track customer refunds. Record refunds issued to customers for
      overpayments, returns, or cancelled transactions.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Customer Credits
    description: >-
      Manage credit memos for customers. Issue credits for returned goods,
      billing adjustments, or discounts that reduce customer balances or can be
      applied to future invoices.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Cash Sales
    description: >-
      Record immediate cash sales transactions. Track sales where payment is
      received at the time of sale, including point-of-sale transactions and
      cash receipts.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Customer Payments
    description: >-
      Record and manage customer payments. Track payments received from
      customers and apply them to outstanding invoices, including partial
      payments and overpayments.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Recurring Invoices
    description: >-
      Automate recurring billing. Set up and manage templates for invoices that
      are automatically generated on a regular schedule (e.g., monthly
      subscriptions).


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Recurring Bills
    description: >-
      Automate recurring expenses. Configure templates for bills that repeat on
      a regular basis (e.g., monthly rent, subscriptions) to streamline expense
      tracking.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Recurring Journal Entries
    description: >-
      Automate recurring journal entries. Create templates for journal entries
      that occur regularly (e.g., monthly depreciation, amortization) to ensure
      consistent accounting treatment.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Classifications
    description: >-
      Manage custom classification dimensions. Create and maintain
      classification categories (e.g., departments, locations, projects) used to
      tag and analyze transactions across multiple dimensions.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Classifications Lines
    description: >-
      Manage classification values. Define the specific values within each
      classification category that can be assigned to transaction line items for
      detailed reporting and analysis.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Custom Fields
    description: >-
      Manage custom field definitions. Extend records with organization-specific
      attributes: name, type (text, number, boolean, date, single_select,
      multi_select, currency, link, paragraph), default value, options, and
      which record types (invoice, bill, customer, vendor, etc.) and companies
      the field applies to. Values are set via the `custom_fields` attribute on
      each record's create/update endpoint.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Purchase Orders
    description: >-
      Create and track purchase orders. Manage formal requests to vendors for
      goods or services, including approval workflows, receiving tracking, and
      bill matching.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Vendor Payments
    description: >-
      Record vendor payments and apply them to bills, vendor credits, and
      journal entry lines.


      Create and update post a general ledger transaction. The save also
      computes realized, rounding, and matching gain or loss.


      Send attachments to replace the file list. `PATCH` changes only the sent
      fields. `POST /{number}/attachments/` adds files and keeps existing files.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Vendor Prepayments
    description: >-
      Track advance payments to vendors. Record prepayments made before goods or
      services are received, which can be applied to future bills.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Vendor Prepayment Applications
    description: >-
      Apply vendor prepayments to bills. Record applications of prepayments to
      reduce bill balances and track amounts owed.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Vendor Credits
    description: >-
      Manage vendor credit memos. Record credits from vendors for returned
      goods, billing adjustments, or discounts that reduce amounts owed or can
      be applied to future bills.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Vendor Refunds
    description: >-
      Process and track vendor refunds. Record refunds received from vendors for
      overpayments, returns, or cancelled transactions.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Paper Checks
    description: >-
      Manage paper check printing. Create, queue, and batch print paper checks
      for vendor payments, direct expenses, vendor prepayments, and customer
      refunds.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Direct Expenses
    description: >-
      Record direct expense transactions. Track payments made directly from a
      bank or credit card account for expenses, without going through the
      accounts payable process.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Bank Transfers
    description: >-
      Manage bank-to-bank transfers. Record and track transfers between bank and
      credit card accounts, including multi-currency transfers with exchange
      rate handling.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Bank Match
    description: >-
      Reconcile bank-feed rows against accounting transactions. List bank rows,
      trigger the matching pipeline, read AI suggestions, and confirm or undo
      matches. V2 API only.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Bank Connections
    description: >-
      Register and list customer-built inbound bank connection feeds. Create
      connections and accounts with `customer_api` as `source_type`, then push
      transactions separately. V2 API only.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Fixed Assets
    description: >-
      Manage fixed assets and capital equipment. Create, update, and track
      long-lived tangible assets including depreciation schedules, account
      assignments, and asset lifecycle management.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Fixed Asset Classes
    description: List fixed asset classes used to set `fixed_asset_class_id` on an asset.
  - name: Intercompany Journal Entries
    description: >-
      Create and manage intercompany journal entries. Record GL activity that
      spans two or more companies within the same organization, with per-line
      company assignment and automatic intercompany elimination.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Depreciation Books
    description: >-
      Discover available depreciation books for multi-book depreciation. Each
      organization has a posting book (BOOK) and may have additional tax books
      (FEDERAL, AMT, STATE_*). V2 API only.
  - name: VAT Rates
    description: >-
      Look up available VAT (Value Added Tax) rates for your organization. Use
      these IDs as `vat_rate_id` on transaction line items. Rates are scoped by
      country and include standard, reduced, zero-rated, exempt, and reverse
      charge types. V2 API only.
  - name: GST Tax Rates
    description: >-
      Look up available GST (Goods and Services Tax) rates for your
      organization. Use these IDs as `gst_tax_rate_id` on transaction line
      items. Covers AU, NZ, SG, IN, CA GST regimes and MY SST, with
      per-component breakdowns (e.g. CGST+SGST for India). V2 API only.
  - name: Product Tax Codes
    description: >-
      Manage organization product tax codes and discover global product tax
      codes. Use these IDs as `product_tax_code_id` on item payloads. V2 API
      only.
  - name: Approval Policies
    description: >-
      Manage approval workflows and policies. Define approval rules, steps,
      conditions, and approvers for different record types. Monitor workflow
      execution states and view approval history.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Inbox
    description: >-
      View pending approvals and approval status. Access transactions and
      records awaiting approval across the organization, including full approval
      workflow details, approvers, and action history.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: Statistical Journals
    description: >-
      Record non-monetary quantity values, such as headcount or square footage.
      Statistical journals never post to the general ledger.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
  - name: E-invoicing
    description: >-
      Read the e-invoicing settings of the organization, the registrations of
      its companies, and the e-invoice filing of an invoice or a customer credit
      with its events and legal files. Retry a failed filing, refresh a started
      one, check a customer before a post, and set the e-invoicing identifiers
      of a customer. The settings, the registrations and the company identifiers
      are read-only: change them in the DualEntry app.


      **Subscription.** Every route except the status route needs the
      e-invoicing subscription. Without it, the route answers `402` before it
      checks the permission. The filing, its legal files and the send rules of a
      record that DualEntry filed still answer after the subscription ends. An
      organization without the subscription posts, sends and archives invoices
      as before.


      **Permissions.** The settings, the registrations and the event list need
      `e_invoicing:view`.


      The filing of a record follows the permission of its record:
      `invoice:view` or `customer_credit:view` to read it, `invoice:edit` or
      `customer_credit:edit` to retry it.


      The identifiers need `e_invoicing:view` with `customer:view` or
      `vendor:view` to read, and `e_invoicing:edit` with `customer:edit` to
      write, as in the app. A key that the CLI sign-in made reaches only the
      companies of its user.


      **Error codes.** A refused e-invoicing request carries a stable
      `error_code`:


      - `e_invoicing_send_held`: the authority must clear the invoice before the
      customer gets it.

      - `e_invoicing_legal_pdf_missing`: the authority PDF is not stored yet.

      - `e_invoicing_validation`: the authority refuses the document data.

      - `e_invoicing_setup`: the setup of the country is broken.

      - `e_invoicing_engine`: the e-invoicing engine did not answer or refused
      the request.

      - `e_invoicing_not_retryable`: the filing is not failed or rejected.

      - `e_invoicing_error`: any other refusal.


      A record save that e-invoicing refuses, such as a change of a cleared
      invoice, answers `422` with the reason under the `e_invoicing` key. Not in
      v1.
  - name: Data Exports
    description: >-
      Request off-cycle refreshes of your organization's data export to its
      configured destination (for example a Snowflake warehouse) and poll their
      status. Exports also run automatically on a schedule; these requests are
      an on-demand supplement. Requests are accepted and orchestrated by
      DualEntry; there is no SLA on when a run starts.


      If your organization connects an integration that syncs this resource with
      a third-party system, a change you make here can also be applied in that
      system, immediately or on a later sync. See the documentation for each
      integration for details.
paths:
  /public/v2/vendors/merge/:
    post:
      tags:
        - Vendors
      summary: Merge vendors
      description: >-
        Merge the duplicate vendors in `source_vendor_ids` into the vendor in
        `target_vendor_id`. `field_sources` and `custom_field_sources` select
        the vendor whose value the survivor keeps for each field. A field that
        they do not name keeps the survivor value. When the survivor value is
        empty, the field gets the first duplicate value. Bank and payment
        details always stay on the survivor. You cannot undo a merge.


        **Side effects**

        - DualEntry moves all records, attachments and company access of the
        duplicate vendors to the survivor vendor.

        - DualEntry archives the duplicate vendors and sets their merged_into_id
        to the survivor vendor.

        - When the survivor takes the name of a duplicate vendor, DualEntry adds
        `(merged into <survivor code>)` to the name of that duplicate.

        - DualEntry sets each changed open 1099 run back to draft. Compute these
        runs again.

        - DualEntry sends one core.vendor/merged webhook event for each
        duplicate vendor.


        **Additional validations**

        - Fails with 422 if a vendor is an intercompany vendor, if the vendors
        have different tax IDs, tax registrations or subsidiaries, or if a 1099
        run for these vendors is in progress.

        - Fails with 422 if the merge must move or read more than 20,000 rows,
        if the API key cannot access a company where the duplicate vendors have
        records, if the merge gives the survivor access to companies that the
        API key cannot access, or if the selected company_access does not
        include a company where the vendors have records.

        - Fails with 422 if field_sources or custom_field_sources selects a
        vendor that is not part of the merge, or an unknown custom field.

        - Fails with 409 if another merge uses one of the vendors.

        - Fails with 417 and changes no data if the merge does not finish in 25
        seconds.
      operationId: core_api_public_vendors_merge_duplicate_vendors
      parameters:
        - name: Idempotency-Key
          in: header
          required: false
          schema:
            type: string
            maxLength: 255
          description: >-
            Optional. A unique value (a UUID works well) identifying this
            operation. If the request is repeated with the same key, the
            original response is replayed instead of the operation running
            again, so a retry cannot create a duplicate record. Results are
            replayable for 48 hours. Reusing a key with a different request body
            returns `422`.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VendorMergeSchemaIn'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorMergeResultSchemaOut'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
        '417':
          description: Expectation Failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
        '422':
          description: Unprocessable Content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
components:
  schemas:
    VendorMergeSchemaIn:
      properties:
        target_vendor_id:
          description: ID of the survivor vendor. Its ID, code and records stay.
          title: Target Vendor Id
          type: integer
        source_vendor_ids:
          description: >-
            IDs of the duplicate vendors. The merge moves their records to the
            survivor and archives them.
          items:
            type: integer
          maxItems: 25
          minItems: 1
          title: Source Vendor Ids
          type: array
        field_sources:
          additionalProperties:
            type: integer
          description: >-
            For each field, the ID of the vendor whose value the survivor keeps.
            A field that is not in this object keeps its default.
          propertyNames:
            $ref: '#/components/schemas/VendorMergeField'
          title: Field Sources
          type: object
        custom_field_sources:
          additionalProperties:
            type: integer
          description: >-
            For each custom field ID, the ID of the vendor whose value the
            survivor keeps.
          title: Custom Field Sources
          type: object
      required:
        - target_vendor_id
        - source_vendor_ids
      title: VendorMergeSchemaIn
      type: object
    VendorMergeResultSchemaOut:
      properties:
        success:
          const: true
          default: true
          title: Success
          type: boolean
        target_vendor_id:
          title: Target Vendor Id
          type: integer
        merged_vendor_ids:
          items:
            type: integer
          title: Merged Vendor Ids
          type: array
        moved_counts:
          additionalProperties:
            type: integer
          title: Moved Counts
          type: object
        applied_field_sources:
          additionalProperties:
            anyOf:
              - type: integer
              - type: 'null'
          title: Applied Field Sources
          type: object
        applied_custom_field_sources:
          additionalProperties:
            type: integer
          title: Applied Custom Field Sources
          type: object
        reset_tax_1099_run_ids:
          items:
            type: integer
          title: Reset Tax 1099 Run Ids
          type: array
      required:
        - target_vendor_id
        - merged_vendor_ids
        - moved_counts
        - applied_field_sources
        - applied_custom_field_sources
        - reset_tax_1099_run_ids
      title: VendorMergeResultSchemaOut
      type: object
    ErrorSchema:
      properties:
        success:
          const: false
          default: false
          title: Success
          type: boolean
        errors:
          additionalProperties:
            items:
              type: string
            type: array
          title: Errors
          type: object
        error_code:
          title: Error Code
          type:
            - string
            - 'null'
        error_reason:
          title: Error Reason
          type:
            - string
            - 'null'
      required:
        - errors
      title: ErrorSchema
      type: object

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.