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

# Merge one product into another: every name mapped to it and every entitlement for it moves to

> the product it is merged into, whose policy stands. The merged product is kept, pointing at the
survivor, so nothing that named it is lost. Requires itam.software.edit.



## OpenAPI

````yaml /api-reference/openapi.json post /rpc/merge_software_products
openapi: 3.0.0
info:
  description: ''
  title: >-
    The only schema PostgREST exposes. Reads are security_invoker views; writes
    are SECURITY DEFINER functions. Rebuilt wholesale on every deploy — it holds
    no data.
  version: 12.2.3
servers:
  - url: https://app.assetinfinity.ai/api
security: []
tags:
  - name: Signing in
  - name: Profile
  - name: Assets
  - name: Asset lifecycle
  - name: Work lifecycle
  - name: Maintenance
  - name: Inventory
  - name: Inventory detail
  - name: Procurement
  - name: Contracts
  - name: Workforce
  - name: Capacity
  - name: Dispatch
  - name: Tools
  - name: Inspections
  - name: Verification
  - name: Reliability
  - name: Parts demand
  - name: Sensors and meters
  - name: Map
  - name: Floor plans
  - name: Labels
  - name: Lost and found
  - name: Root cause analysis
  - name: Reports
  - name: Audit center
  - name: Activity
  - name: Notifications
  - name: Channels
  - name: Search
  - name: Copilot
  - name: Import
  - name: Files
  - name: Sync
  - name: Support
  - name: Admin
  - name: Access
  - name: Lookups
  - name: Read models
  - name: Branding
  - name: Custom fields
  - name: Form studio
  - name: Workflows
  - name: Workflow studio
  - name: Rules
  - name: Statuses and transitions
  - name: Currencies and locales
  - name: Work configuration
  - name: Asset configuration
  - name: Inventory configuration
  - name: Tool configuration
  - name: Workforce configuration
  - name: Vendor and contract configuration
  - name: Document configuration
  - name: Inspection configuration
  - name: Sites, locations and the organisation
  - name: Platform
  - name: Amendments
  - name: Asset clone
  - name: Asset components
  - name: Asset register
  - name: Asset transfer
  - name: Audit feed
  - name: Billing
  - name: Bookings
  - name: Budgets
  - name: Bulk jobs
  - name: Calibration history
  - name: Capex plans
  - name: Conversations
  - name: Costing
  - name: Currency
  - name: Dashboards
  - name: Data exports
  - name: Directory sync
  - name: Document control
  - name: Document folders
  - name: Document tree
  - name: Documents
  - name: Energy
  - name: Extracts
  - name: Features
  - name: Feeds
  - name: Ffe plans
  - name: File exchange
  - name: Filing exceptions
  - name: Finance
  - name: Inbound mail
  - name: Itam
  - name: Itam software
  - name: Keys
  - name: Knowledge
  - name: Licence
  - name: List views
  - name: Locations
  - name: Mapping
  - name: Mcp
  - name: Mcp oauth
  - name: Mfa
  - name: Numbering
  - name: Permits
  - name: Readers
  - name: Reference
  - name: Reference columns
  - name: Reference entry
  - name: Release
  - name: Scim
  - name: Security streams
  - name: Self verification
  - name: Setup
  - name: Shutdown
  - name: Sso
  - name: Telegram
  - name: Tenant switch
  - name: The caller's own work
  - name: The checklist library
  - name: Today
  - name: Tools on a job, and who has them out
  - name: Trackers
  - name: Tray
  - name: Vendor spend forecast
  - name: Vendors and contracts
  - name: Visitors
  - name: Webhooks
  - name: Work order execution
  - name: Work sequencing
  - name: Workforce detail
externalDocs:
  description: PostgREST Documentation
  url: https://postgrest.org/en/v12/references/api.html
paths:
  /rpc/merge_software_products:
    post:
      tags:
        - Itam software
      summary: >-
        Merge one product into another: every name mapped to it and every
        entitlement for it moves to
      description: >-
        the product it is merged into, whose policy stands. The merged product
        is kept, pointing at the

        survivor, so nothing that named it is lost. Requires itam.software.edit.
      parameters:
        - $ref: '#/components/parameters/preferParams'
      requestBody:
        content:
          application/json:
            schema:
              description: >-
                Merge one product into another: every name mapped to it and
                every entitlement for it moves to

                the product it is merged into, whose policy stands. The merged
                product is kept, pointing at the

                survivor, so nothing that named it is lost. Requires
                itam.software.edit.
              properties:
                p_from_id:
                  format: uuid
                  type: string
                p_into_id:
                  format: uuid
                  type: string
              required:
                - p_from_id
                - p_into_id
              type: object
          application/vnd.pgrst.object+json:
            schema:
              description: >-
                Merge one product into another: every name mapped to it and
                every entitlement for it moves to

                the product it is merged into, whose policy stands. The merged
                product is kept, pointing at the

                survivor, so nothing that named it is lost. Requires
                itam.software.edit.
              properties:
                p_from_id:
                  format: uuid
                  type: string
                p_into_id:
                  format: uuid
                  type: string
              required:
                - p_from_id
                - p_into_id
              type: object
          application/vnd.pgrst.object+json;nulls=stripped:
            schema:
              description: >-
                Merge one product into another: every name mapped to it and
                every entitlement for it moves to

                the product it is merged into, whose policy stands. The merged
                product is kept, pointing at the

                survivor, so nothing that named it is lost. Requires
                itam.software.edit.
              properties:
                p_from_id:
                  format: uuid
                  type: string
                p_into_id:
                  format: uuid
                  type: string
              required:
                - p_from_id
                - p_into_id
              type: object
          text/csv:
            schema:
              description: >-
                Merge one product into another: every name mapped to it and
                every entitlement for it moves to

                the product it is merged into, whose policy stands. The merged
                product is kept, pointing at the

                survivor, so nothing that named it is lost. Requires
                itam.software.edit.
              properties:
                p_from_id:
                  format: uuid
                  type: string
                p_into_id:
                  format: uuid
                  type: string
              required:
                - p_from_id
                - p_into_id
              type: object
        required: true
      responses:
        '200':
          description: OK
components:
  parameters:
    preferParams:
      description: Preference
      in: header
      name: Prefer
      required: false
      schema:
        enum:
          - params=single-object
        type: string

````

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