D-Tools Publish Product Catalogs API

Allows an integration to publish a product catalog to a SI user.

Operations 1

POST /Publish/ProductCatalogs Publish a product catalog to a SI user #

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/d-tools-publishproductcatalogs-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

d-tools-publishproductcatalogs-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: D-Tools SI API Documentation Publish Product Catalogs API
  description: 'The API allows integrations to:


    - Publish catalogs and projects to SI users.'
  version: 1.0.0
servers:
- url: https://api.d-tools.com/si
tags:
- name: PublishProductCatalogs
  description: Allows an integration to publish a product catalog to a SI user.
paths:
  /Publish/ProductCatalogs:
    post:
      tags:
      - PublishProductCatalogs
      summary: Publish a product catalog to a SI user
      requestBody:
        description: The product catalog.
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/ProductCatalog'
          application/json:
            schema:
              $ref: '#/components/schemas/ProductCatalog'
          text/json:
            schema:
              $ref: '#/components/schemas/ProductCatalog'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ProductCatalog'
          application/xml:
            schema:
              $ref: '#/components/schemas/ProductCatalog'
          text/xml:
            schema:
              $ref: '#/components/schemas/ProductCatalog'
          application/*+xml:
            schema:
              $ref: '#/components/schemas/ProductCatalog'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublishResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/PublishResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/PublishResponse'
            text/xml:
              schema:
                $ref: '#/components/schemas/PublishResponse'
      operationId: postPublishProductCatalogs
      x-operation-id-source: derived
components:
  schemas:
    ItemLaborType:
      type: object
      properties:
        name:
          type:
          - 'null'
          - string
          description: Labor Type name
        hours:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          description: Labor Type Hours
          format: double
        totalHours:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          description: Total Labor Hours includes Base, Misc, Mgt and Design hours and accounts for wire length (if any) and quantity
          format: double
    ProductCatalog:
      type: object
      properties:
        id:
          type:
          - 'null'
          - string
          description: Unique Id for the catalog
        name:
          type:
          - 'null'
          - string
          description: Name for the catalog (Required)
        description:
          type:
          - 'null'
          - string
          description: Catalog description
        priceType:
          type:
          - 'null'
          - string
          description: Price type
        priceTypeDisplayName:
          type:
          - 'null'
          - string
          description: Price type display name
        isMetric:
          type: boolean
          description: Catalog Item H,W,D are in inches for non-metric catalogs and millimeters for metric catalogs. Item weight is in pounds for non-metric catalogs and kilograms for metric catalogs.
        totalProductsCount:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
          - integer
          - string
          description: Total Products Count
          format: int32
        products:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/Product'
          description: Products in the catalog.
        deletedProductIds:
          type:
          - 'null'
          - array
          items:
            type: string
            format: uuid
          description: Product Ids deleted (available only with automated SI Server Exports)
      description: Product catalog object
    Product:
      type: object
      properties:
        id:
          type:
          - 'null'
          - string
          description: Unique Id for the product (Required)
        integrationProductId:
          type:
          - 'null'
          - string
          description: Id for the product sent by integration.
        manufacturerId:
          type:
          - 'null'
          - string
          description: Id for the manufacturer.
        manufacturer:
          type:
          - 'null'
          - string
          description: Manufacturer for the product. (Required)
        model:
          type:
          - 'null'
          - string
          description: Model for the product (Required)
        partNumber:
          type:
          - 'null'
          - string
          description: Part Number
        category:
          type:
          - 'null'
          - string
          description: Category
        subcategory:
          type:
          - 'null'
          - string
          description: Subcategory
        description:
          type:
          - 'null'
          - string
          description: Short description
        url:
          type:
          - 'null'
          - string
          description: Product URL (BETA).
        tags:
          type:
          - 'null'
          - string
          description: Tags
        msrp:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - number
          - string
          description: MSRP
          format: double
        unitCost:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - number
          - string
          description: Unit Cost
          format: double
        unitPrice:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - number
          - string
          description: Unit Price
          format: double
        ofe:
          type: boolean
          description: Owner Furnished Equipment
        allowZeroCost:
          type:
          - 'null'
          - boolean
          description: Allow Zero Cost (BETA)
        phase:
          type:
          - 'null'
          - string
          description: Phase
        laborHours:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - number
          - string
          description: Labor Hours to install the item
          format: double
        installPrice:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - number
          - string
          description: Install Price is the sum of product price and labor price to install the item
          format: double
        laborTypes:
          type:
          - 'null'
          - string
          description: Comma separated list of product labor types
        itemLaborTypes:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/ItemLaborType'
          description: Collection of labor types for product with name and hours
        taxable:
          type:
          - 'null'
          - boolean
          description: Is product taxable. Applicable if SI has IsItemLevelTax = false
        tax:
          type:
          - 'null'
          - string
          description: Tax for the product. Applicable if SI has IsItemLevelTax = true
        laborTax:
          type:
          - 'null'
          - string
          description: Labor Tax for the product. Applicable if SI has IsItemLevelTax = true
        avalaraTaxCode:
          type:
          - 'null'
          - string
          description: Avalara tax code
        avalaraLaborTaxCode:
          type:
          - 'null'
          - string
          description: Avalara labor tax code
        acctgName:
          type:
          - 'null'
          - string
          description: Accounting Item Name
        vendor:
          type:
          - 'null'
          - string
          description: Vendor
        vendorNumber:
          type:
          - 'null'
          - string
          description: Vendor Number
        orderUom:
          type:
          - 'null'
          - string
          description: UOM
        orderUomUnits:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
          - 'null'
          - integer
          - string
          description: UOM units
          format: int32
        doNotOrder:
          type: boolean
          description: Do Not Order
        purchaseCost:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          description: Purchase Cost
          format: double
        purchaseCostCurrencyCode:
          type:
          - 'null'
          - string
          description: Purchase Cost Currency Code
        height:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          description: Product Height
          format: double
        width:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          description: Product Width
          format: double
        depth:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          description: Product Depth
          format: double
        weight:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          description: Product Weight
          format: double
        rackMounted:
          type: boolean
          description: Product Rack Mounted
        rackUnits:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
          - 'null'
          - integer
          - string
          description: Product Rack Units
          format: int16
        amps:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          description: Product Amps
          format: double
        volts:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          description: Product Volts
          format: double
        watts:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          description: Product Watts
          format: double
        btu:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          description: Product Btu
          format: double
        dispersion:
          type:
          - 'null'
          - string
          description: Product Dispersion
        bulkWire:
          type: boolean
          description: Product Bulk Wire
        inputTerminals:
          type:
          - 'null'
          - string
          description: Product Input Terminals
        inputSignals:
          type:
          - 'null'
          - string
          description: Product Input Signals
        inputLabels:
          type:
          - 'null'
          - string
          description: Product Input Labels
        outputTerminals:
          type:
          - 'null'
          - string
          description: Product Output Terminals
        outputSignals:
          type:
          - 'null'
          - string
          description: Product Output Signals
        outputLabels:
          type:
          - 'null'
          - string
          description: Product Output Labels
        customField1:
          type:
          - 'null'
          - string
          description: Product custom field 1
        customField2:
          type:
          - 'null'
          - string
          description: Product custom field 2
        customField3:
          type:
          - 'null'
          - string
          description: Product custom field 3
        customField4:
          type:
          - 'null'
          - string
          description: Product custom field 4
        customField5:
          type:
          - 'null'
          - string
          description: Product custom field 5
        customField6:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          description: Product custom field 6
          format: double
        customField7:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          description: Product custom field 7
          format: double
        customField8:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          description: Product custom field 8
          format: double
        customField9:
          type:
          - 'null'
          - string
          description: Product custom field 9
          format: date-time
        customField10:
          type:
          - 'null'
          - string
          description: Product custom field 10
          format: date-time
        customField11:
          type:
          - 'null'
          - string
          description: Product custom field 11
          format: date-time
        customField12:
          type:
          - 'null'
          - string
          description: Product custom field 12
        customField13:
          type:
          - 'null'
          - string
          description: Product custom field 13
        customField14:
          type:
          - 'null'
          - string
          description: Product custom field 14
        customField15:
          type:
          - 'null'
          - string
          description: Product custom field 15
        customField16:
          type:
          - 'null'
          - string
          description: Product custom field 16
        customField17:
          type:
          - 'null'
          - string
          description: Product custom field 17
        customField18:
          type:
          - 'null'
          - string
          description: Product custom field 18
        customField19:
          type:
          - 'null'
          - boolean
          description: Product custom field 19
        customField20:
          type:
          - 'null'
          - boolean
          description: Product custom field 20
        customField21:
          type:
          - 'null'
          - boolean
          description: Product custom field 21
        customField22:
          type:
          - 'null'
          - boolean
          description: Product custom field 22
        customField23:
          type:
          - 'null'
          - string
          description: Product custom field 23
        customField24:
          type:
          - 'null'
          - string
          description: Product custom field 24
        customField25:
          type:
          - 'null'
          - string
          description: Product custom field 25
        customField26:
          type:
          - 'null'
          - string
          description: Product custom field 26
        customField27:
          type:
          - 'null'
          - string
          description: Product custom field 27
        customField28:
          type:
          - 'null'
          - string
          description: Product custom field 28
        customField29:
          type:
          - 'null'
          - string
          description: Product custom field 29
        customField30:
          type:
          - 'null'
          - string
          description: Product custom field 30
        customField31:
          type:
          - 'null'
          - string
          description: Product custom field 31
        customField32:
          type:
          - 'null'
          - string
          description: Product custom field 32
        customField33:
          type:
          - 'null'
          - string
          description: Product custom field 33
        customField34:
          type:
          - 'null'
          - string
          description: Product custom field 34
        customField35:
          type:
          - 'null'
          - string
          description: Product custom field 35
        customField36:
          type:
          - 'null'
          - string
          description: Product custom field 36
        customField37:
          type:
          - 'null'
          - string
          description: Product custom field 37
        customField38:
          type:
          - 'null'
          - string
          description: Product custom field 38
        customField39:
          type:
          - 'null'
          - string
          description: Product custom field 39
        customField40:
          type:
          - 'null'
          - string
          description: Product custom field 40
        customField41:
          type:
          - 'null'
          - string
          description: Product custom field 41
        customField42:
          type:
          - 'null'
          - string
          description: Product custom field 42
        customField43:
          type:
          - 'null'
          - string
          description: Product custom field 43
        customField44:
          type:
          - 'null'
          - string
          description: Product custom field 44
        customField45:
          type:
          - 'null'
          - string
          description: Product custom field 45
        customField46:
          type:
          - 'null'
          - string
          description: Product custom field 46
        customField47:
          type:
          - 'null'
          - string
          description: Product custom field 47
        customField48:
          type:
          - 'null'
          - string
          description: Product custom field 48
        customField49:
          type:
          - 'null'
          - string
          description: Product custom field 49
        customField50:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          description: Product custom field 50
          format: double
        customField51:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          description: Product custom field 51
          format: double
        customField52:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          description: Product custom field 52
          format: double
        customField53:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          description: Product custom field 53
          format: double
        customField54:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          description: Product custom field 54
          format: double
        customField55:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          description: Product custom field 55
          format: double
        customField56:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          description: Product custom field 56
          format: double
        customField57:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          description: Product custom field 57
          format: double
        customField58:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          description: Product custom field 58
          format: double
        customField59:
          type:
          - 'null'
          - string
          description: Product custom field 59
          format: date-time
        customField60:
          type:
          - 'null'
          - string
          description: Product custom field 60
          format: date-time
        customField61:
          type:
          - 'null'
          - string
          description: Product custom field 61
          format: date-time
        customField62:
          type:
          - 'null'
          - string
          description: Product custom field 62
          format: date-time
        customField63:
          type:
          - 'null'
          - string
          description: Product custom field 63
          format: date-time
        customField64:
          type:
          - 'null'
          - string
          description: Product custom field 64
          format: date-time
        customField65:
          type:
          - 'null'
          - string
          description: Product custom field 65
          format: date-time
        customField66:
          type:
          - 'null'
          - string
          description: Product custom field 66
          format: date-time
        customField67:
          type:
          - 'null'
          - string
          description: Product custom field 67
          format: date-time
        customField68:
          type:
          - 'null'
          - boolean
          description: Product custom field 68
        customField69:
          type:
          - 'null'
          - boolean
          description: Product custom field 69
        customField70:
          type:
          - 'null'
          - boolean
          description: Product custom field 70
        customField71:
          type:
          - 'null'
          - boolean
          description: Product custom field 71
        customField72:
          type:
          - 'null'
          - boolean
          description: Product custom field 72
        customField73:
          type:
          - 'null'
          - boolean
          description: Product custom field 73
        customField74:
          type:
          - 'null'
          - boolean
          description: Product custom field 74
        customField75:
          type:
          - 'null'
          - boolean
          description: Product custom field 75
        updatedOn:
          type:
          - 'null'
          - string
          description: Date the product was updated
          format: date-time
        updatedOnTicks:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
          - integer
          - string
          description: Updated on date in ticks (number)
          format: int64
        approved:
          type:
          - 'null'
          - boolean
          description: Product Approved
        discontinued:
          type:
          - 'null'
          - boolean
          description: Product Discontinued
      description: Product object
    PublishResponse:
      type: object
      properties:
        messageId:
          type: string
          description: Check the status of the transaction using this Message Id
          format: uuid
        message:
          type:
          - 'null'
          - string
          description: Success Message
      description: Project publish response