openapi: 3.0.3
info:
title: Tekmetric Appointments Canned Jobs API
description: Tekmetric is a cloud-based auto repair shop management platform. Its REST API is partner-gated - access requires requesting credentials at api.tekmetric.com and Tekmetric's approval (reported at roughly 2-3 weeks); there is no self-serve signup or public API reference. The endpoints, parameters, and response envelope documented here are sourced from beetlebugorg/tekmetric-mcp, an independent open-source client that holds approved credentials and calls the live API - not from an official Tekmetric API reference document. Only read (GET) endpoints are documented because that is all the reference client implements; write endpoints may exist but are not evidenced in any public source.
version: v1
contact:
name: Tekmetric
url: https://www.tekmetric.com/
x-source-note: Endpoint shapes confirmed via github.com/beetlebugorg/tekmetric-mcp (pkg/tekmetric/*.go), an unofficial, independently maintained client, not an official Tekmetric-published specification.
servers:
- url: https://shop.tekmetric.com/api/v1
description: Production
- url: https://sandbox.tekmetric.com/api/v1
description: Sandbox
security:
- oauth2: []
tags:
- name: Canned Jobs
description: Pre-built menu services bundling standard labor and parts.
paths:
/canned-jobs:
get:
operationId: listCannedJobs
tags:
- Canned Jobs
summary: List canned jobs
description: Lists a shop's canned jobs - pre-built menu services bundling standard labor and parts - available to apply to estimates.
parameters:
- $ref: '#/components/parameters/Shop'
- $ref: '#/components/parameters/Page'
- $ref: '#/components/parameters/Size'
responses:
'200':
description: A page of canned jobs.
content:
application/json:
schema:
$ref: '#/components/schemas/CannedJobPage'
'401':
$ref: '#/components/responses/Unauthorized'
components:
schemas:
Page:
type: object
description: Spring Data Page envelope used by all list endpoints.
properties:
totalPages:
type: integer
totalElements:
type: integer
first:
type: boolean
last:
type: boolean
size:
type: integer
number:
type: integer
numberOfElements:
type: integer
CannedJobPage:
allOf:
- $ref: '#/components/schemas/Page'
- type: object
properties:
content:
type: array
items:
$ref: '#/components/schemas/CannedJob'
CannedJob:
type: object
properties:
id:
type: integer
name:
type: string
description:
type: string
smart:
type: boolean
description: Whether this is a "smart" canned job that adapts to vehicle fitment.
parameters:
Shop:
name: shop
in: query
required: false
description: The shop ID to scope the request to.
schema:
type: integer
Page:
name: page
in: query
required: false
description: Zero-based page number.
schema:
type: integer
default: 0
Size:
name: size
in: query
required: false
description: Page size.
schema:
type: integer
default: 20
responses:
Unauthorized:
description: Missing, invalid, or revoked access token.
securitySchemes:
oauth2:
type: oauth2
description: OAuth 2.0 client credentials grant. Requires an approved Client ID/Secret issued by Tekmetric after a manual request-access review (reported at roughly 2-3 weeks).
flows:
clientCredentials:
tokenUrl: https://shop.tekmetric.com/api/v1/oauth/token
scopes: {}