D-Tools Publish Tasks API

Allows an integration to publish a task to a SI user.

Operations 3

POST /Publish/Task Allows an integration to publish a task to a SI user.
POST /Publish/UpdateTask Update an existing task in SI.
POST /Publish/DeleteTasks Delete existing tasks in SI (BETA).

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-publishtasks-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-publishtasks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: D-Tools SI API Documentation Publish Tasks 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: PublishTasks
  description: Allows an integration to publish a task to a SI user.
paths:
  /Publish/Task:
    post:
      tags:
      - PublishTasks
      summary: Allows an integration to publish a task to a SI user.
      requestBody:
        description: The Task.
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/NewTask'
          application/json:
            schema:
              $ref: '#/components/schemas/NewTask'
          text/json:
            schema:
              $ref: '#/components/schemas/NewTask'
          application/*+json:
            schema:
              $ref: '#/components/schemas/NewTask'
          application/xml:
            schema:
              $ref: '#/components/schemas/NewTask'
          text/xml:
            schema:
              $ref: '#/components/schemas/NewTask'
          application/*+xml:
            schema:
              $ref: '#/components/schemas/NewTask'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublishTaskResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/PublishTaskResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/PublishTaskResponse'
            text/xml:
              schema:
                $ref: '#/components/schemas/PublishTaskResponse'
  /Publish/UpdateTask:
    post:
      tags:
      - PublishTasks
      summary: Update an existing task in SI.
      requestBody:
        description: Update Task.
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/UpdateTask'
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTask'
          text/json:
            schema:
              $ref: '#/components/schemas/UpdateTask'
          application/*+json:
            schema:
              $ref: '#/components/schemas/UpdateTask'
          application/xml:
            schema:
              $ref: '#/components/schemas/UpdateTask'
          text/xml:
            schema:
              $ref: '#/components/schemas/UpdateTask'
          application/*+xml:
            schema:
              $ref: '#/components/schemas/UpdateTask'
        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/DeleteTasks:
    post:
      tags:
      - PublishTasks
      summary: Delete existing tasks in SI (BETA).
      requestBody:
        description: Delete Task.
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/DeleteTasksRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteTasksRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/DeleteTasksRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/DeleteTasksRequest'
          application/xml:
            schema:
              $ref: '#/components/schemas/DeleteTasksRequest'
          text/xml:
            schema:
              $ref: '#/components/schemas/DeleteTasksRequest'
          application/*+xml:
            schema:
              $ref: '#/components/schemas/DeleteTasksRequest'
        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:
    TaskResource:
      type: object
      properties:
        name:
          type:
          - 'null'
          - string
          description: Name of the resource
        email:
          type:
          - 'null'
          - string
        estimatedHours:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          format: double
        actualHours:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          format: double
        cost:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - 'null'
          - number
          - string
          format: double
        estimatedCost:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - number
          - string
          format: double
        actualCost:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
          - number
          - string
          format: double
    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
    DeleteTasksRequest:
      type: object
      properties:
        ids:
          type:
          - 'null'
          - array
          items:
            type: string
          description: Ids of tasks to delete (Required and must match existing task ids in SI) (BETA).
    PublishTaskResponse:
      type: object
      properties:
        taskId:
          type:
          - 'null'
          - string
          description: Unique Id of task (will be generated if not provided. Can be used to update task)
        messageId:
          type: string
          description: Check the status of the transaction using this Message Id
          format: uuid
        message:
          type:
          - 'null'
          - string
          description: Success Message
      description: Task publish response
    UpdateTask:
      type: object
      properties:
        taskId:
          type:
          - 'null'
          - string
          description: Id of task to update (Required and must match an existing task id in SI).
        contact:
          description: Contact information
          $ref: '#/components/schemas/ContactInfo'
        siteAddress:
          description: Site address information
          $ref: '#/components/schemas/Address'
        resources:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/TaskResource'
          description: Resources in a task
        resourcesToDelete:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/ResourceInfo'
          description: Resource to delete on task
        updateFields:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/UpdateTaskField'
          description: List of UpdateFields for the task. Each UpdateField has a Id and a Value.
    ResourceInfo:
      type: object
      properties:
        name:
          type:
          - 'null'
          - string
          description: Name of the resource
        email:
          type:
          - 'null'
          - string
          description: Email of the resource
    ContactInfo:
      type: object
      properties:
        name:
          type:
          - 'null'
          - string
          description: Name of the contact
        title:
          type:
          - 'null'
          - string
        email:
          type:
          - 'null'
          - string
        phone:
          type:
          - 'null'
          - string
        mobile:
          type:
          - 'null'
          - string
    UpdateTaskField:
      type: object
      properties:
        taskFieldId:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
          - integer
          - string
          description: "TaskFieldId (pass the correct Id for the field you want to update)\nTask Name = 1, Description = 2, Start Date = 3, End Date = 4, Status = 5, Percent complete = 6, Notes = 7, \nCustomField1 = 101, CustomField2 = 102, CustomField3 = 103, CustomField4 = 104, CustomField5 = 105, CustomField6 = 106, CustomField7 = 107, CustomField8 = 108, CustomField9 = 109, CustomField10 = 110,\nCustomField11 = 111, CustomField12 = 112, CustomField13 = 113, CustomField14 = 114, CustomField15 = 115, CustomField16 = 116, CustomField17 = 117, CustomField18 = 118, CustomField19 = 119, CustomField20 = 120,\nCustomField21 = 121, CustomField22 = 122, CustomField23 = 123, CustomField24 = 124"
          format: uint8
        value:
          type:
          - 'null'
          - string
          description: Value for the task field.
    NewTask:
      type: object
      properties:
        integrationId:
          type:
          - 'null'
          - string
          description: Unique Id for the task (must be Guid). The Id must be a valid Guid and can be used to retrieve and update task.
        projectId:
          type:
          - 'null'
          - string
          description: Id of the Project (Required and ProjectId must exist in SI)
        name:
          type:
          - 'null'
          - string
          description: Name (Required)
        start:
          type: string
          description: Start date required (Required)
          format: date-time
        startTicks:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
          - integer
          - string
          format: int64
        end:
          type: string
          description: End date required (Required)
          format: date-time
        endTicks:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
          - integer
          - string
          format: int64
        description:
          type:
          - 'null'
          - string
          description: Description of the task
        contact:
          description: Contact information
          $ref: '#/components/schemas/ContactInfo'
        siteAddress:
          description: Site address information
          $ref: '#/components/schemas/Address'
        resources:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/TaskResource'
          description: Resources in a task
        customField1:
          type:
          - 'null'
          - string
          description: CustomField1 (Text)
        customField2:
          type:
          - 'null'
          - string
          description: CustomField2 (Text)
        customField3:
          type:
          - 'null'
          - string
          description: CustomField3 (Text)
        customField4:
          type:
          - 'null'
          - string
          description: CustomField4 (Text)
        customField5:
          type:
          - 'null'
          - string
          description: CustomField5 (Text)
        customField6:
          type:
          - 'null'
          - boolean
          description: CustomField6 (Boolean)
        customField7:
          type:
          - 'null'
          - boolean
          description: CustomField7 (Boolean)
        customField8:
          type:
          - 'null'
          - boolean
          description: CustomField8 (Boolean)
        customField9:
          type:
          - 'null'
          - boolean
          description: CustomField9 (Boolean)
        customField10:
          type:
          - 'null'
          - boolean
          description: CustomField10 (Boolean)
        customField11:
          type:
          - 'null'
          - string
          description: CustomField11 (DateTime)
          format: date-time
        customField12:
          type:
          - 'null'
          - string
          description: CustomField12 (DateTime)
          format: date-time
        customField13:
          type:
          - 'null'
          - string
          description: CustomField13 (DateTime)
          format: date-time
        customField14:
          type:
          - 'null'
          - string
          description: CustomField14 (DateTime)
          format: date-time
        customField15:
          type:
          - 'null'
          - string
          description: CustomField15 (DateTime)
          format: date-time
        customField16:
          type:
          - 'null'
          - string
          description: CustomField16 (Text)
        customField17:
          type:
          - 'null'
          - string
          description: CustomField17 (Text)
        customField18:
          type:
          - 'null'
          - string
          description: CustomField18 (Text)
        customField19:
          type:
          - 'null'
          - string
          description: CustomField19 (Text)
        customField20:
          type:
          - 'null'
          - string
          description: CustomField20 (Text)
        customField21:
          type:
          - 'null'
          - string
          description: CustomField21 (Text)
        customField22:
          type:
          - 'null'
          - string
          description: CustomField22 (Text)
        customField23:
          type:
          - 'null'
          - string
          description: CustomField23 (Text)
        customField24:
          type:
          - 'null'
          - string
          description: CustomField24 (Text)
      description: New Task
    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