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

# Merge multiple units into one

> Consolidate multiple units into a single unit with a new name.

**Parameters:**
- `unitIds`: Array of unit IDs to merge (minimum 2 required)
- `newName`: Name for the consolidated unit

This operation will:
1. Create a new unit with the specified name
2. Update all references from the old units to point to the new unit
3. Delete the original units

Useful for cleaning up duplicate or similar units (e.g., merging "kg CO2" and "kg CO₂e").



## OpenAPI

````yaml https://app.azalt.co/api/v1/openapi.json post /units/merge
openapi: 3.0.3
info:
  title: Erguvan Public API
  version: 1.0.0
servers:
  - url: https://app.azalt.co/api/v1
security: []
paths:
  /units/merge:
    post:
      tags:
        - Unit
      summary: Merge multiple units into one
      description: >-
        Consolidate multiple units into a single unit with a new name.


        **Parameters:**

        - `unitIds`: Array of unit IDs to merge (minimum 2 required)

        - `newName`: Name for the consolidated unit


        This operation will:

        1. Create a new unit with the specified name

        2. Update all references from the old units to point to the new unit

        3. Delete the original units


        Useful for cleaning up duplicate or similar units (e.g., merging "kg
        CO2" and "kg CO₂e").
      operationId: mergeUnits
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                unitIds:
                  type: array
                  items:
                    type: string
                  minItems: 2
                newName:
                  type: string
                  minLength: 1
              required:
                - unitIds
                - newName
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  name:
                    type: string
                  organizationId:
                    type: string
                    nullable: true
                required:
                  - id
                  - name
                  - organizationId
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.BAD_REQUEST'
        '401':
          description: Authorization not provided
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.UNAUTHORIZED'
        '403':
          description: Insufficient access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.FORBIDDEN'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR'
      security:
        - Authorization: []
components:
  schemas:
    error.BAD_REQUEST:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Invalid input data
        code:
          type: string
          description: The error code
          example: BAD_REQUEST
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Invalid input data error (400)
      description: The error information
      example:
        code: BAD_REQUEST
        message: Invalid input data
        issues: []
    error.UNAUTHORIZED:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Authorization not provided
        code:
          type: string
          description: The error code
          example: UNAUTHORIZED
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Authorization not provided error (401)
      description: The error information
      example:
        code: UNAUTHORIZED
        message: Authorization not provided
        issues: []
    error.FORBIDDEN:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Insufficient access
        code:
          type: string
          description: The error code
          example: FORBIDDEN
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Insufficient access error (403)
      description: The error information
      example:
        code: FORBIDDEN
        message: Insufficient access
        issues: []
    error.INTERNAL_SERVER_ERROR:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Internal server error
        code:
          type: string
          description: The error code
          example: INTERNAL_SERVER_ERROR
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Internal server error error (500)
      description: The error information
      example:
        code: INTERNAL_SERVER_ERROR
        message: Internal server error
        issues: []
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer

````