D-Tools Publish Vendors API

Allows an integration to update a vendor list to a SI user. d

Operations 2

POST /Publish/Vendors Publish a list of vendors to SI.
POST /Publish/Vendors/Update Update an existing vendor in SI

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-publishvendors-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 email required.

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

OpenAPI Specification

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


    - Publish catalogs and projects to SI users.

    - Subscribe to projects and catalogs published by SI users.


    All API calls must pass an API key in the request header. The API key can be generated in SI 2016 Control Panel using the ''Manage Integrations'' feature.


    An API key is specific to a SI user and an integration.


    API callers must add to each call a custom header named **X-DTSI-ApiKey** along with the value of the API key. For example, if the API key value is `q54R39UBr0Skgd7VHvEbuwiRAOArUpt02o7z/vY+iwrg`, the custom header would be as follows:


    ```

    X-DTSI-ApiKey: q54R39UBr0Skgd7VHvEbuwiRAOArUpt02o7z/vY+iwrg

    ```'
  version: 1.0.0
servers:
- url: https://api.d-tools.com/si
tags:
- name: PublishVendors
  description: Allows an integration to update a vendor list to a SI user. d
paths:
  /Publish/Vendors:
    post:
      tags:
      - PublishVendors
      summary: Publish a list of vendors to SI.
      requestBody:
        description: The vendor list.
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/VendorList'
          application/json:
            schema:
              $ref: '#/components/schemas/VendorList'
          text/json:
            schema:
              $ref: '#/components/schemas/VendorList'
          application/*+json:
            schema:
              $ref: '#/components/schemas/VendorList'
          application/xml:
            schema:
              $ref: '#/components/schemas/VendorList'
          text/xml:
            schema:
              $ref: '#/components/schemas/VendorList'
          application/*+xml:
            schema:
              $ref: '#/components/schemas/VendorList'
        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'
  /Publish/Vendors/Update:
    post:
      tags:
      - PublishVendors
      summary: Update an existing vendor in SI
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/UpdateVendor'
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateVendor'
          text/json:
            schema:
              $ref: '#/components/schemas/UpdateVendor'
          application/*+json:
            schema:
              $ref: '#/components/schemas/UpdateVendor'
          application/xml:
            schema:
              $ref: '#/components/schemas/UpdateVendor'
          text/xml:
            schema:
              $ref: '#/components/schemas/UpdateVendor'
          application/*+xml:
            schema:
              $ref: '#/components/schemas/UpdateVendor'
        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'
components:
  schemas:
    UpdateVendor:
      type: object
      properties:
        integrationId:
          type:
          - 'null'
          - string
          description: Integration Id of vendor to update (Must pass either IntegrationId Or Vendor Number)
        number:
          type:
          - 'null'
          - string
          description: Number of vendor to update (Must pass either IntegrationId Or Vendor Number)
        updateFields:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/UpdateVendorField'
          description: List of UpdateFields for the vendor. Each UpdateField has a Id and a Value.
        siteAddress:
          description: Vendor Site Address
          $ref: '#/components/schemas/Address'
        billingAddress:
          description: Vendor Billing Address
          $ref: '#/components/schemas/Address'
      description: Update Vendor
    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
    VendorContact:
      type: object
      properties:
        firstName:
          type:
          - 'null'
          - string
        lastName:
          type:
          - 'null'
          - string
        company:
          type:
          - 'null'
          - string
        title:
          type:
          - 'null'
          - string
        email:
          type:
          - 'null'
          - string
        phone:
          type:
          - 'null'
          - string
        fax:
          type:
          - 'null'
          - string
        mobile:
          type:
          - 'null'
          - string
        street1:
          type:
          - 'null'
          - string
        street2:
          type:
          - 'null'
          - string
        city:
          type:
          - 'null'
          - string
        state:
          type:
          - 'null'
          - string
        postalCode:
          type:
          - 'null'
          - string
        country:
          type:
          - 'null'
          - string
        notes:
          type:
          - 'null'
          - string
      description: Vendor contact object
    UpdateVendorField:
      type: object
      properties:
        vendorFieldId:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
          - integer
          - string
          description: 'VendorFieldId (pass the correct Id for the field you want to update)

            Name = 1, Number = 2, Phone = 3, Fax = 4, Email = 5, Website = 6, Inactive = 7,  IntegrationId = 8, Terms = 9'
          format: uint8
        value:
          type:
          - 'null'
          - string
          description: Value for the vendor field. date time and decimal should be invariant.
    VendorAddress:
      type: object
      properties:
        typeId:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
          - integer
          - string
          description: Vendor Address Type - must be type 1 = Billing, 2 = Site, 3 = Other
          format: uint8
        name:
          type:
          - 'null'
          - string
        street1:
          type:
          - 'null'
          - string
        street2:
          type:
          - 'null'
          - string
        city:
          type:
          - 'null'
          - string
        state:
          type:
          - 'null'
          - string
        postalCode:
          type:
          - 'null'
          - string
        country:
          type:
          - 'null'
          - string
        phone:
          type:
          - 'null'
          - string
        fax:
          type:
          - 'null'
          - string
      description: Vendor address object
    Vendor:
      type: object
      properties:
        id:
          type:
          - 'null'
          - string
          description: Unique Id for the Vendor (must be Guid). Vendor will be created in SI with this Guid and will be used to update Vendor.
        name:
          type:
          - 'null'
          - string
          description: Vendor name (Required)
        number:
          type:
          - 'null'
          - string
          description: Number
        integrationId:
          type:
          - 'null'
          - string
          description: Optional Id provided by the Integration for Vendor. The IntegrationId can be used to update Vendors
        phone:
          type:
          - 'null'
          - string
          description: Phone
        fax:
          type:
          - 'null'
          - string
          description: Fax
        email:
          type:
          - 'null'
          - string
          description: Email
        webSite:
          type:
          - 'null'
          - string
          description: Web site
        terms:
          type:
          - 'null'
          - string
          description: Terms
        createdOn:
          type: string
          description: Date the Vendor was created (UTC Time)
          format: date-time
        updatedOn:
          type: string
          description: Date the Vendor was updated (UTC Time)
          format: date-time
        updatedBy:
          type:
          - 'null'
          - string
          description: Vendor Updated By
        publishedBy:
          type:
          - 'null'
          - string
          description: Vendor Published By
        vendorAddresses:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/VendorAddress'
          description: Vendor addresses for Vendor
        vendorContacts:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/VendorContact'
          description: Vendor contacts for Vendor
      description: Vendor object
    Address:
      type: object
      properties:
        street1:
          type:
          - 'null'
          - string
        street2:
          type:
          - 'null'
          - string
        city:
          type:
          - 'null'
          - string
        state:
          type:
          - 'null'
          - string
        postalCode:
          type:
          - 'null'
          - string
        country:
          type:
          - 'null'
          - string
        phone:
          type:
          - 'null'
          - string
        fax:
          type:
          - 'null'
          - string
    VendorList:
      type: object
      properties:
        id:
          type:
          - 'null'
          - string
          description: Unique Id for the Vendor (Required)
        name:
          type:
          - 'null'
          - string
          description: Name for the Vendor list (Required)
        description:
          type:
          - 'null'
          - string
          description: Vendor list description
        vendors:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/Vendor'
          description: Vendor list.
      description: Vendor List objects