Commusoft Titles API
Manage title settings (Mr, Mrs, Dr, etc.)
Manage title settings (Mr, Mrs, Dr, etc.)
openapi: 3.0.3
info:
title: Commusoft Authentication Titles API
description: The Commusoft API is a RESTful JSON-based API designed to allow third parties to integrate products and applications with Commusoft's field service management platform. It enables programmatic management of jobs, customers, engineers, quotes, invoices, parts, and service histories for trades businesses including HVAC, plumbing, electrical, and building maintenance contractors. The API supports integrations with accounting tools (QuickBooks, Xero, Sage), payment processors (Stripe, GoCardless), and workflow automation platforms (Zapier).
version: 1.0.0
contact:
url: https://www.commusoft.com/
x-api-id: commusoft-api
x-audience: external-partner
servers:
- url: https://api.commusoft.com/api/v1
description: Commusoft production API server
security:
- ApiTokenHeader: []
- ApiTokenQuery: []
tags:
- name: Titles
description: Manage title settings (Mr, Mrs, Dr, etc.)
paths:
/titles:
get:
operationId: listTitles
summary: List Titles
description: Retrieve the list of available title settings (Mr, Mrs, Dr, etc.).
tags:
- Titles
responses:
'200':
description: List of titles
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Title'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createTitle
summary: Create Title
description: Add a new title setting.
tags:
- Titles
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TitleInput'
responses:
'201':
description: Title created
content:
application/json:
schema:
$ref: '#/components/schemas/Title'
'401':
$ref: '#/components/responses/Unauthorized'
/titles/{uuid}:
put:
operationId: updateTitle
summary: Update Title
description: Edit an existing title setting.
tags:
- Titles
parameters:
- $ref: '#/components/parameters/UuidPath'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TitleInput'
responses:
'200':
description: Title updated
content:
application/json:
schema:
$ref: '#/components/schemas/Title'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteTitle
summary: Delete Title
description: Remove a title setting.
tags:
- Titles
parameters:
- $ref: '#/components/parameters/UuidPath'
responses:
'200':
description: Title deleted
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
TitleInput:
type: object
required:
- name
properties:
uuid:
type: string
format: uuid
name:
type: string
description: The title value
Error:
type: object
properties:
message:
type: string
description: Human-readable error message
code:
type: integer
description: Error code
Title:
type: object
properties:
id:
type: integer
readOnly: true
uuid:
type: string
format: uuid
readOnly: true
name:
type: string
description: The title value (e.g. Mr, Mrs, Dr, Miss, Ms)
responses:
Unauthorized:
description: Authentication token missing or invalid
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
UuidPath:
name: uuid
in: path
required: true
description: Unique identifier (UUID) of the record
schema:
type: string
format: uuid
securitySchemes:
ApiTokenHeader:
type: apiKey
in: header
name: X-Auth-Token
description: API token obtained from the /getToken endpoint
ApiTokenQuery:
type: apiKey
in: query
name: token
description: API token passed as a query parameter