Dealhubio Version Management API

Endpoints for retrieving, creating, and managing versions.

Operations 5

POST /api/v1/version/activate Activate a Version #
POST /api/v1/version/duplicate Duplicate a Version #
GET /api/v1/version/id/{version_id} Get Version by ID #
GET /api/v1/version/name/{version_name} Get Version by Name #
GET /api/v1/versions Get a List of Versions #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/dealhubio:dealhubio-version-management-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

dealhubio-version-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Version Management API
  description: 'This API provides a comprehensive set of services for managing versions and the associated product catalog within the DealHub CPQ system. It allows for system-to-system integration to get, create, duplicate, activate, and manage the content of versions.


    Several operations, such as duplicating, activating, and uploading a product catalog, are asynchronous. These endpoints return a `request_id` for tracking.


    All requests require a secret Bearer Token in the `Authorization` header, which is generated by a CPQ administrator.'
  version: 1.0.0
servers:
- url: https://api.dealhub.io
  description: The base URL for your DealHub instance.
security:
- bearerAuth: []
tags:
- name: Version Management
  description: Endpoints for retrieving, creating, and managing versions.
paths:
  /api/v1/version/activate:
    post:
      tags:
      - Version Management
      summary: Activate a Version
      description: Asynchronously activates a `DRAFT` Version. This operation returns a `request_id` for tracking.
      operationId: activateVersion
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActivateVersionRequest'
            examples:
              activateVersionExample:
                summary: Request to activate a version
                value:
                  version_id: '765379899'
      responses:
        '200':
          description: Success. The activation process has started.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncResponse'
              examples:
                asyncResponseExample:
                  summary: Successful response
                  value:
                    request_id: 4D114DAD97
        '400':
          description: Bad Request. The Version does not exist or is already in `ACTIVE` status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                alreadyActiveExample:
                  summary: Version already active
                  value:
                    error: Version (id= 765379899) already active.
                    code: 400
                notFoundExample:
                  summary: Version not found
                  value:
                    error: Entity (ID = 765379899) not found
                    code: 400
        '403':
          description: Unauthenticated. The `Authorization` token is missing, invalid, or does not match the user.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthenticatedExample:
                  summary: Unauthenticated
                  value:
                    error: Unauthenticated
                    code: 403
  /api/v1/version/duplicate:
    post:
      tags:
      - Version Management
      summary: Duplicate a Version
      description: Asynchronously creates a new Version entity based on an existing one. This operation returns a `request_id` for tracking.
      operationId: duplicateVersion
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DuplicateVersionRequest'
            examples:
              duplicateVersionExample:
                summary: Duplicate a version to a new instance
                value:
                  version_id: '765379899'
                  new_version_name: New Version
                  comment: Adding more BroadBand services
                  to_account_instance: Account abc
      responses:
        '200':
          description: Success. The duplication process has started.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncResponse'
              examples:
                asyncResponseExample:
                  summary: Successful response
                  value:
                    request_id: 4D114DAD97
        '400':
          description: Bad Request. The source Version does not exist, the new version name is not unique, or the source and target account domains do not match.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                domainMismatchExample:
                  summary: Domain mismatch
                  value:
                    error: The domain name of the source version account does not match the target version account
                    code: 400
                nameNotUniqueExample:
                  summary: Version name not unique
                  value:
                    error: A new version name should be unique. Please change the name and try again.
                    code: 400
                notFoundExample:
                  summary: Source version not found
                  value:
                    error: Entity (ID = 765379899) not found
                    code: 400
        '403':
          description: Unauthenticated. The `Authorization` token is missing, invalid, or does not match the user.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthenticatedExample:
                  summary: Unauthenticated
                  value:
                    error: Unauthenticated
                    code: 403
  /api/v1/version/id/{version_id}:
    get:
      tags:
      - Version Management
      summary: Get Version by ID
      description: Retrieve a specific Version based on its unique DealHub ID.
      operationId: getVersionById
      parameters:
      - name: version_id
        in: path
        required: true
        schema:
          type: string
          maxLength: 16
        description: The unique identifier of the version.
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Version'
              examples:
                getVersionExample:
                  summary: Successful response
                  value:
                    name: Master v1
                    comment: ''
                    status: ACTIVE
                    version_id: '67657'
        '400':
          description: Bad Request. No Version was found matching the provided `version_id`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                notFoundExample:
                  summary: Version not found
                  value:
                    error: Entity (ID = 67657) not found
                    code: 400
        '403':
          description: Unauthenticated. The `Authorization` token is missing, invalid, or does not match the user.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthenticatedExample:
                  summary: Unauthenticated
                  value:
                    error: Unauthenticated
                    code: 403
  /api/v1/version/name/{version_name}:
    get:
      tags:
      - Version Management
      summary: Get Version by Name
      description: Retrieve a specific Version based on its name.
      operationId: getVersionByName
      parameters:
      - name: version_name
        in: path
        required: true
        schema:
          type: string
          maxLength: 120
        description: The name of the version.
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Version'
              examples:
                getVersionExample:
                  summary: Successful response
                  value:
                    name: Master v1
                    comment: ''
                    status: ACTIVE
                    version_id: '67657'
        '400':
          description: Bad Request. No Version was found matching the provided `version_name`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                notFoundExample:
                  summary: Version not found
                  value:
                    error: Entity (ID = Master v1) not found
                    code: 400
        '403':
          description: Unauthenticated. The `Authorization` token is missing, invalid, or does not match the user.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthenticatedExample:
                  summary: Unauthenticated
                  value:
                    error: Unauthenticated
                    code: 403
  /api/v1/versions:
    get:
      tags:
      - Version Management
      summary: Get a List of Versions
      description: Retrieve a list of Versions, with an option to filter by status. If no parameters are provided, it returns all versions.
      operationId: getVersions
      parameters:
      - name: status
        in: query
        schema:
          type: string
          enum:
          - DRAFT
          - ACTIVE
          - DEACTIVATED
        description: Search for Version(s) based on status.
      responses:
        '200':
          description: Success. Returns a list of version objects.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Version'
              examples:
                getVersionsExample:
                  summary: Example list of versions
                  value:
                  - name: v3a
                    comment: ''
                    status: DEACTIVATED
                    version_id: 068DoObdli5GuF14
                  - name: msd6
                    comment: ''
                    status: DEACTIVATED
                    version_id: 0AjX3aABgLN9f8uG
        '400':
          description: Bad Request. The `status` parameter has an unsupported value.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                invalidStatusExample:
                  summary: Invalid parameter value
                  value:
                    error: 'status - Invalid parameter value. Valid value(s): DRAFT, ACTIVE, DEACTIVATED'
                    code: 400
        '403':
          description: Unauthenticated. The `Authorization` token is missing, invalid, or does not match the user.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthenticatedExample:
                  summary: Unauthenticated
                  value:
                    error: Unauthenticated
                    code: 403
components:
  schemas:
    ErrorResponse:
      type: object
      description: A generic error response. The specific message and code vary based on the context.
      properties:
        error:
          type: string
          description: Human-readable error message describing the issue.
        code:
          type: integer
          description: HTTP status code.
    AsyncResponse:
      type: object
      properties:
        request_id:
          type: string
          description: The ID of the asynchronous request for tracking.
    DuplicateVersionRequest:
      type: object
      required:
      - version_id
      - new_version_name
      properties:
        version_id:
          type: string
          maxLength: 16
          description: ID of the version that should be duplicated.
        new_version_name:
          type: string
          maxLength: 120
          description: Name for the new version.
        comment:
          type: string
          maxLength: 4000
          description: Comments for the newly created version.
        to_account_instance:
          type: string
          description: Instance name of the Account where the version should be duplicated to (e.g., for Sandbox to Production).
    ActivateVersionRequest:
      type: object
      required:
      - version_id
      properties:
        version_id:
          type: string
          maxLength: 16
          description: ID of the Version that should be activated.
    Version:
      type: object
      properties:
        name:
          type: string
          description: Name of the version.
        comment:
          type: string
          description: Comment provided during version creation.
        status:
          type: string
          description: Status of the version.
        version_id:
          type: string
          description: The unique identifier of the version.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: A secret token generated by a CPQ administrator.
x-provenance:
  method: searched
  source: https://developers.dealhub.io/reference
  harvested: '2026-10-22'
  tool: harvest-readme-openapi.py
  note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
  assembled_from:
  - https://developers.dealhub.io/reference/activateversion.md
  - https://developers.dealhub.io/reference/deleteallproducts.md
  - https://developers.dealhub.io/reference/deletefromproducthierarchy.md
  - https://developers.dealhub.io/reference/deleteproductsbysku.md
  - https://developers.dealhub.io/reference/duplicateversion.md
  - https://developers.dealhub.io/reference/exportplaybookdata.md
  - https://developers.dealhub.io/reference/extractproductsexcel.md
  - https://developers.dealhub.io/reference/getasyncrequeststatus.md
  - https://developers.dealhub.io/reference/getasyncrequestsummary.md
  - https://developers.dealhub.io/reference/getgeneratequotetemplate.md
  - https://developers.dealhub.io/reference/getproductcatalog.md
  - https://developers.dealhub.io/reference/getproducthierarchy.md
  - https://developers.dealhub.io/reference/getproductsbysku.md
  - https://developers.dealhub.io/reference/getversionbyid.md
  - https://developers.dealhub.io/reference/getversionbyname.md
  - https://developers.dealhub.io/reference/getversionproducts.md
  - https://developers.dealhub.io/reference/getversions.md
  - https://developers.dealhub.io/reference/updateproductcatalog.md
  - https://developers.dealhub.io/reference/updateproducthierarchy.md
  - https://developers.dealhub.io/reference/uploadproductcatalog.md
  merge:
    pages: 20
    deduped: 79
    conflicts_kept_first: 0