openapi: 3.0.3 info: title: Commusoft Authentication Users 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: Users description: Retrieve user records paths: /users/{uuid}: get: operationId: getUser summary: Get User description: Retrieve a specific user record by UUID. tags: - Users parameters: - $ref: '#/components/parameters/UuidPath' responses: '200': description: User record content: application/json: schema: $ref: '#/components/schemas/User' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: schemas: Error: type: object properties: message: type: string description: Human-readable error message code: type: integer description: Error code User: type: object properties: id: type: integer readOnly: true uuid: type: string format: uuid readOnly: true firstName: type: string lastName: type: string email: type: string format: email role: type: string description: User role within the system (admin, engineer, office, etc.) active: type: boolean description: Whether the user account is active createdAt: type: string format: date-time readOnly: true 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