Smartcat Quote API

The Quote API from Smartcat — 9 operation(s) for quote.

Operations 9

GET /api/integration/v1/Quote/{projectId} Fetch information about the project quote
GET /api/integration/v1/Quote/ByVendor/{projectId} Fetch information about the project quote
GET /api/integration/v1/Quote/ListByProjectIds Fetch a list of quotes by a list of projects
GET /api/integration/v1/Quote/List Fetch the list of quotes for the current account
PUT /api/integration/v1/Quote/Update Update information on the project quote
POST /api/integration/v1/Quote/{id}/Upload Upload a project quote details file
POST /api/integration/v1/Quote/{id}/Approve Approve a quote
POST /api/integration/v1/Quote/{id}/MarkAsPaid Mark the quote as paid
GET /api/integration/v1/Quote/{id}/File Download a cost calculation file

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/smartcat-quote-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

smartcat-quote-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Smartcat Account Quote API
  version: v1
servers:
- url: /
tags:
- name: Quote
paths:
  /api/integration/v1/Quote/{projectId}:
    get:
      tags:
      - Quote
      summary: Fetch information about the project quote
      parameters:
      - name: projectId
        in: path
        description: Project ID
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Request has been successfully completed
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/QuoteModel'
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteModel'
            text/json:
              schema:
                $ref: '#/components/schemas/QuoteModel'
        '400':
          description: The specified project ID's format is incorrect
        '403':
          description: The project is not associated with the account
        '404':
          description: The provided project ID does not exist
  /api/integration/v1/Quote/ByVendor/{projectId}:
    get:
      tags:
      - Quote
      summary: Fetch information about the project quote
      parameters:
      - name: projectId
        in: path
        description: Project ID
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Request has been successfully completed
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/QuoteModel'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/QuoteModel'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/QuoteModel'
        '400':
          description: The specified project ID's format is incorrect
        '403':
          description: The project is not associated with the account
        '404':
          description: The provided project ID does not exist
  /api/integration/v1/Quote/ListByProjectIds:
    get:
      tags:
      - Quote
      summary: Fetch a list of quotes by a list of projects
      parameters:
      - name: projectIds
        in: query
        description: List of projects
        required: true
        schema:
          type: array
          items:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/QuoteModel'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/QuoteModel'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/QuoteModel'
  /api/integration/v1/Quote/List:
    get:
      tags:
      - Quote
      summary: Fetch the list of quotes for the current account
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/QuoteModel'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/QuoteModel'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/QuoteModel'
  /api/integration/v1/Quote/Update:
    put:
      tags:
      - Quote
      summary: Update information on the project quote
      requestBody:
        description: Project quote model
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/QuoteModel'
          application/json:
            schema:
              $ref: '#/components/schemas/QuoteModel'
          text/json:
            schema:
              $ref: '#/components/schemas/QuoteModel'
          application/*+json:
            schema:
              $ref: '#/components/schemas/QuoteModel'
        required: true
      responses:
        '200':
          description: Request has been successfully completed
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/QuoteModel'
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteModel'
            text/json:
              schema:
                $ref: '#/components/schemas/QuoteModel'
        '400':
          description: 'Returns if:

            - The specified project ID''s format is incorrect

            - The quote status is Paid'
        '403':
          description: The project is not associated with the account
        '404':
          description: 'Returns if:

            - The provided project ID does not exist

            - The provided client ID does not exist'
  /api/integration/v1/Quote/{id}/Upload:
    post:
      tags:
      - Quote
      summary: Upload a project quote details file
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
        required: true
      responses:
        '200':
          description: Request has been successfully completed
        '400':
          description: 'Returns if:

            - The provided file model is empty

            - The specified project ID''s format is incorrect

            - The quote is empty or includes service details

            - The quote status is Paid'
        '403':
          description: The project is not associated with the account
        '404':
          description: The provided project ID does not exist
  /api/integration/v1/Quote/{id}/Approve:
    post:
      tags:
      - Quote
      summary: Approve a quote
      parameters:
      - name: id
        in: path
        description: Project quote ID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Request has been successfully completed
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/QuoteModel'
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteModel'
            text/json:
              schema:
                $ref: '#/components/schemas/QuoteModel'
        '400':
          description: 'Returns if:

            - The specified project ID''s format is incorrect

            - The quote does not include the cost'
        '403':
          description: The project is not associated with the account
        '404':
          description: The provided project ID does not exist
  /api/integration/v1/Quote/{id}/MarkAsPaid:
    post:
      tags:
      - Quote
      summary: Mark the quote as paid
      parameters:
      - name: id
        in: path
        description: Project quote ID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Request has been successfully completed
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/QuoteModel'
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteModel'
            text/json:
              schema:
                $ref: '#/components/schemas/QuoteModel'
        '400':
          description: 'Returns if:

            - The specified project ID''s format is incorrect

            - The quote does not include the cost'
        '403':
          description: The project is not associated with the account
        '404':
          description: The provided project ID does not exist
  /api/integration/v1/Quote/{id}/File:
    get:
      tags:
      - Quote
      summary: Download a cost calculation file
      parameters:
      - name: id
        in: path
        description: Quote ID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Request has been successfully completed
        '400':
          description: The specified project ID's format is incorrect
        '403':
          description: The project is not associated with the account
        '404':
          description: 'Returns if:

            - The provided project ID does not exist

            - Details are missing: file is not attached and generating a new one is not possible'
components:
  schemas:
    ExternalFileDetalizationModel:
      type: object
      properties:
        serviceName:
          type:
          - string
          - 'null'
          description: Service name
        cost:
          type:
          - number
          - 'null'
          description: Service cost
          format: double
        file:
          $ref: '#/components/schemas/UploadedQuoteFileModel'
        accuracyDegree:
          $ref: '#/components/schemas/ProjectQuoteAccuracyDegree'
      additionalProperties: false
      description: Uploaded file with quote details
    DetalizationRowFileContainerModel:
      type: object
      properties:
        fileName:
          type:
          - string
          - 'null'
          description: File name
        detalizationRows:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/DetalizationRowModel'
          description: Details
      additionalProperties: false
      description: Service details by files
    Contracts.WorkUnitType:
      enum:
      - char
      - word
      - page
      - hour
      - minute
      - document
      - service
      - day
      - month
      type: string
      format: int32
    ProjectQuoteAccuracyDegree:
      enum:
      - estimatedByWordsCount
      - estimatedByTmMatches
      - autoCalculatedExact
      - manuallyEntered
      type: string
      format: int32
    ApprovalStatus:
      enum:
      - notApproved
      - approved
      - approvalRequested
      type: string
      format: int32
    QuoteCostDetalizationType:
      enum:
      - none
      - byLanguage
      - byFileAndLanguage
      type: string
      format: int32
    DetalizationRowModel:
      type: object
      properties:
        name:
          type:
          - string
          - 'null'
          description: Service details string description
          example: 102% matches, repetitions, new words
        unitCount:
          type: number
          description: Unit count
          format: double
        percentOfFullRate:
          type: number
          description: Percentage of the full rate for the specific unit category
          format: double
      additionalProperties: false
      description: Service details string model
    UploadedQuoteFileModel:
      type: object
      properties:
        id:
          type: string
          description: ID
          format: uuid
        name:
          type:
          - string
          - 'null'
          description: Name
      additionalProperties: false
      description: Quote as an attached file
    QuotePaymentStatus:
      enum:
      - notPaid
      - paid
      - awaitingPayment
      type: string
      format: int32
    CostDetailsModel:
      type: object
      properties:
        unitType:
          $ref: '#/components/schemas/Contracts.WorkUnitType'
        rate:
          type:
          - number
          - 'null'
          description: Rate
          format: double
        unitCount:
          type:
          - number
          - 'null'
          description: Unit count
          format: double
        detalizationRows:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/DetalizationRowModel'
          description: Show details
        detalizationRowsByFiles:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/DetalizationRowFileContainerModel'
          description: Detalization by files
        detalizationType:
          $ref: '#/components/schemas/QuoteCostDetalizationType'
      additionalProperties: false
      description: DTO model of a quoted service price details
    QuoteServiceModel:
      type: object
      properties:
        name:
          type:
          - string
          - 'null'
          description: Name
        languageId:
          type:
          - integer
          - 'null'
          description: Target language ID
          format: int32
        cost:
          type:
          - number
          - 'null'
          description: Service cost
          format: double
        costDetails:
          $ref: '#/components/schemas/CostDetailsModel'
      additionalProperties: false
      description: Quote service model
    QuoteModel:
      type: object
      properties:
        id:
          type: string
          description: Quote ID
        creationDate:
          type: string
          description: Quote creation date
          format: date-time
        accountId:
          type: string
          description: Account ID associated with the quote
          format: uuid
        projectId:
          type: string
          description: Project ID associated with the quote
          format: uuid
        deadline:
          type:
          - string
          - 'null'
          description: Project deadline
          format: date-time
        clientContactName:
          type:
          - string
          - 'null'
          description: Client's contact person name
        clientContactEmail:
          type:
          - string
          - 'null'
          description: Client's contact person email
        dueDate:
          type:
          - string
          - 'null'
          description: Get approval by
          format: date-time
        cost:
          type:
          - number
          - 'null'
          description: Cost
          format: double
        currency:
          type:
          - string
          - 'null'
          description: Currency
        approvalStatus:
          $ref: '#/components/schemas/ApprovalStatus'
        approvalStatusModificationDate:
          type:
          - string
          - 'null'
          description: Date of the quote approval status change
          format: date-time
        paymentStatus:
          $ref: '#/components/schemas/QuotePaymentStatus'
        clientId:
          type:
          - string
          - 'null'
          description: Project client ID
          format: uuid
        externalFileDetalization:
          $ref: '#/components/schemas/ExternalFileDetalizationModel'
        servicesDetalization:
          $ref: '#/components/schemas/ServicesDetalizationModel'
      additionalProperties: false
      description: Project quote model
    ServicesDetalizationModel:
      type: object
      properties:
        services:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/QuoteServiceModel'
          description: LSP service model
        accuracyDegree:
          $ref: '#/components/schemas/ProjectQuoteAccuracyDegree'
      additionalProperties: false
      description: Quote details generated by Smartcat