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 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-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.'
  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'
      operationId: postPublishTask
      x-operation-id-source: derived
  /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'
      operationId: postPublishUpdateTask
      x-operation-id-source: derived
  /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'
      operationId: postPublishDeleteTasks
      x-operation-id-source: derived
components:
  schemas:
    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
    ResourceInfo:
      type: object
      properties:
        name:
          type:
          - 'null'
          - string
          description: Name of the resource
        email:
          type:
          - 'null'
          - string
          description: Email of the resource
    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
    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
    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
    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).
    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
    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
    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.
    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.