D-Tools Service Contracts API

The ServiceContracts API from D-Tools — 2 operation(s) for servicecontracts.

Operations 2

GET /api/v1/ServiceContracts/GetServiceContracts
GET /api/v1/ServiceContracts/GetServiceContract

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-servicecontracts-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-servicecontracts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: D-Tools Cloud Service Contracts API
  description: API to integrate with the D-Tools Cloud application.
  termsOfService: https://www.d-tools.com/d-tools-software-terms-of-services
  contact:
    name: api@d-toolshelp.com
    email: api@d-toolshelp.com
  license:
    name: License Agreement
    url: https://www.d-tools.com/license-agreement
  version: v1
servers:
- url: https://dtcloudapi.d-tools.cloud
tags:
- name: ServiceContracts
paths:
  /api/v1/ServiceContracts/GetServiceContracts:
    get:
      tags:
      - ServiceContracts
      parameters:
      - name: clientIds
        in: query
        schema:
          type: array
          items:
            type: string
            format: uuid
      - name: projectIds
        in: query
        schema:
          type: array
          items:
            type: string
            format: uuid
      - name: fromStartDate
        in: query
        schema:
          type: string
          format: date-time
      - name: toStartDate
        in: query
        schema:
          type: string
          format: date-time
      - name: fromEndDate
        in: query
        schema:
          type: string
          format: date-time
      - name: toEndDate
        in: query
        schema:
          type: string
          format: date-time
      - name: fromPaymentDueDate
        in: query
        schema:
          type: string
          format: date-time
      - name: toPaymentDueDate
        in: query
        schema:
          type: string
          format: date-time
      - name: fromCanceledDate
        in: query
        schema:
          type: string
          format: date-time
      - name: toCanceledDate
        in: query
        schema:
          type: string
          format: date-time
      - name: fromCreatedDate
        in: query
        schema:
          type: string
          format: date-time
      - name: toCreatedDate
        in: query
        schema:
          type: string
          format: date-time
      - name: fromModifiedDate
        in: query
        schema:
          type: string
          format: date-time
      - name: toModifiedDate
        in: query
        schema:
          type: string
          format: date-time
      - name: includeTotalCount
        in: query
        schema:
          type: boolean
      - name: search
        in: query
        schema:
          type: string
      - name: sort
        in: query
        schema:
          type: string
      - name: page
        in: query
        schema:
          type: integer
          format: int32
          default: 1
      - name: pageSize
        in: query
        schema:
          type: integer
          format: int32
          default: 20
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DTools.Cloud.Data.GetServiceContractsResult'
            text/json:
              schema:
                $ref: '#/components/schemas/DTools.Cloud.Data.GetServiceContractsResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '500':
          description: Internal Server Error
  /api/v1/ServiceContracts/GetServiceContract:
    get:
      tags:
      - ServiceContracts
      parameters:
      - name: id
        in: query
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DTools.Cloud.Data.ServiceContractDetail'
            text/json:
              schema:
                $ref: '#/components/schemas/DTools.Cloud.Data.ServiceContractDetail'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '500':
          description: Internal Server Error
components:
  schemas:
    DTools.Cloud.Data.ServiceContractLite:
      type: object
      properties:
        id:
          type: string
          format: uuid
        type:
          type:
          - string
          - 'null'
          readOnly: true
        clientId:
          type: string
          format: uuid
        clientName:
          type:
          - string
          - 'null'
        clientNumber:
          type:
          - string
          - 'null'
        projectId:
          type:
          - string
          - 'null'
          format: uuid
        projectName:
          type:
          - string
          - 'null'
        projectNumber:
          type:
          - string
          - 'null'
        name:
          type:
          - string
          - 'null'
        number:
          type:
          - string
          - 'null'
        status:
          type:
          - string
          - 'null'
          readOnly: true
        pricePerMonth:
          type: number
          format: double
        startDate:
          type:
          - string
          - 'null'
          format: date-time
        endDate:
          type:
          - string
          - 'null'
          format: date-time
        paymentDueDate:
          type:
          - string
          - 'null'
          format: date-time
        canceledDate:
          type:
          - string
          - 'null'
          format: date-time
        createdDate:
          type: string
          format: date-time
        modifiedDate:
          type: string
          format: date-time
      additionalProperties: false
    DTools.Cloud.Data.FileInfo:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type:
          - string
          - 'null'
        url:
          type:
          - string
          - 'null'
      additionalProperties: false
    DTools.Cloud.Data.ServiceContractFeature:
      type: object
      properties:
        type:
          type:
          - string
          - 'null'
          readOnly: true
        price:
          type:
          - number
          - 'null'
          format: double
        priceInterval:
          type:
          - string
          - 'null'
          readOnly: true
        includedServiceCallType:
          type:
          - string
          - 'null'
          readOnly: true
        includedServiceCalls:
          type:
          - integer
          - 'null'
          format: int32
        hours:
          type:
          - integer
          - 'null'
          format: int32
        isAdditionalService:
          type: boolean
        additionalServicePrice:
          type:
          - number
          - 'null'
          format: double
        additionalServicePriceInterval:
          type:
          - string
          - 'null'
          readOnly: true
        serviceFrequency:
          type:
          - string
          - 'null'
          readOnly: true
        afterHoursServiceType:
          type:
          - string
          - 'null'
          readOnly: true
        productDiscount:
          type:
          - number
          - 'null'
          format: double
        automaticPlanRenewalLength:
          type:
          - integer
          - 'null'
          format: int32
        automaticPlanRenewalPriceIncreasePercent:
          type:
          - number
          - 'null'
          format: double
        includedSessions:
          type:
          - integer
          - 'null'
          format: int32
        sessionLengthInMinutes:
          type:
          - integer
          - 'null'
          format: int32
        isAdditionalSupport:
          type: boolean
        additionalSupportPrice:
          type:
          - number
          - 'null'
          format: double
        additionalSupportPriceInterval:
          type:
          - string
          - 'null'
          readOnly: true
        displayText:
          type:
          - string
          - 'null'
        isShowInProposal:
          type: boolean
          readOnly: true
      additionalProperties: false
    DTools.Cloud.Data.ServiceContractPaymentSchedule:
      type: object
      properties:
        paymentTermId:
          type: string
          format: uuid
        payment:
          type:
          - string
          - 'null'
        billingDate:
          type:
          - string
          - 'null'
          format: date-time
        dueDate:
          type:
          - string
          - 'null'
          format: date-time
        amount:
          type: number
          format: double
        status:
          type:
          - string
          - 'null'
          readOnly: true
      additionalProperties: false
    DTools.Cloud.Data.GetServiceContractsResult:
      type: object
      properties:
        serviceContracts:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/DTools.Cloud.Data.ServiceContractLite'
        totalServiceContracts:
          type: integer
          format: int32
      additionalProperties: false
    DTools.Cloud.Data.ServiceContractPayment:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type:
          - string
          - 'null'
        number:
          type:
          - string
          - 'null'
        integrationNumber:
          type:
          - string
          - 'null'
        billingDate:
          type:
          - string
          - 'null'
          format: date-time
        dueDate:
          type:
          - string
          - 'null'
          format: date-time
        terms:
          type:
          - string
          - 'null'
        termsDaysDue:
          type:
          - integer
          - 'null'
          format: int32
        amount:
          type: number
          format: double
        taxAmount:
          type:
          - number
          - 'null'
          format: double
        totalAmount:
          type: number
          format: double
        paidAmount:
          type:
          - number
          - 'null'
          format: double
        convenienceFee:
          type:
          - number
          - 'null'
          format: double
        paidDate:
          type:
          - string
          - 'null'
          format: date-time
        status:
          type:
          - string
          - 'null'
          readOnly: true
        paymentRequestMessage:
          type:
          - string
          - 'null'
        isDisplayPaymentSchedule:
          type: boolean
        isAutoGenerated:
          type: boolean
        isAutoPaid:
          type: boolean
        notes:
          type:
          - string
          - 'null'
      additionalProperties: false
    Microsoft.AspNetCore.Mvc.ProblemDetails:
      type: object
      properties:
        type:
          type:
          - string
          - 'null'
        title:
          type:
          - string
          - 'null'
        status:
          type:
          - integer
          - 'null'
          format: int32
        detail:
          type:
          - string
          - 'null'
        instance:
          type:
          - string
          - 'null'
      additionalProperties: {}
    DTools.Cloud.Data.ServiceContractDetail:
      type: object
      properties:
        id:
          type: string
          format: uuid
        type:
          type:
          - string
          - 'null'
          readOnly: true
        clientId:
          type: string
          format: uuid
        clientName:
          type:
          - string
          - 'null'
        clientNumber:
          type:
          - string
          - 'null'
        projectId:
          type:
          - string
          - 'null'
          format: uuid
        projectName:
          type:
          - string
          - 'null'
        projectNumber:
          type:
          - string
          - 'null'
        name:
          type:
          - string
          - 'null'
        number:
          type:
          - string
          - 'null'
        imageUrl:
          type:
          - string
          - 'null'
        description:
          type:
          - string
          - 'null'
        status:
          type:
          - string
          - 'null'
          readOnly: true
        estimatedStartDateType:
          type:
          - string
          - 'null'
          readOnly: true
        estimatedStartDate:
          type:
          - string
          - 'null'
          format: date-time
        estimatedStartDateDays:
          type:
          - integer
          - 'null'
          format: int32
        startDate:
          type:
          - string
          - 'null'
          format: date-time
        endDate:
          type:
          - string
          - 'null'
          format: date-time
        priceType:
          type:
          - string
          - 'null'
          readOnly: true
        fixedPrice:
          type:
          - number
          - 'null'
          format: double
        dynamicPriceFieldId:
          type:
          - string
          - 'null'
          readOnly: true
        dynamicPricePercent:
          type:
          - number
          - 'null'
          format: double
        priceInterval:
          type:
          - string
          - 'null'
          readOnly: true
        pricePerMonth:
          type: number
          format: double
        taxRate:
          type:
          - number
          - 'null'
          format: double
        length:
          type: integer
          format: int32
        lengthDiscount:
          type:
          - number
          - 'null'
          format: double
        billingFrequency:
          type:
          - string
          - 'null'
          readOnly: true
        billingFrequencyDiscount:
          type:
          - number
          - 'null'
          format: double
        paymentTerms:
          type:
          - string
          - 'null'
        paymentTermsDaysDue:
          type:
          - integer
          - 'null'
          format: int32
        isAutoGeneratePaymentRequests:
          type: boolean
        paymentDueDate:
          type:
          - string
          - 'null'
          format: date-time
        canceledDate:
          type:
          - string
          - 'null'
          format: date-time
        createdDate:
          type: string
          format: date-time
        modifiedDate:
          type: string
          format: date-time
        isClientAgreementRequired:
          type: boolean
        termsAndConditionsFileUrl:
          type:
          - string
          - 'null'
        termsAndConditionsText:
          type:
          - string
          - 'null'
        features:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/DTools.Cloud.Data.ServiceContractFeature'
        notes:
          type:
          - array
          - 'null'
          items:
            type: string
        files:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/DTools.Cloud.Data.FileInfo'
        paymentSchedules:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/DTools.Cloud.Data.ServiceContractPaymentSchedule'
        payments:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/DTools.Cloud.Data.ServiceContractPayment'
      additionalProperties: false