Workiz Time Off API

Technician time-off records that affect availability.

OpenAPI Specification

workiz-time-off-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Workiz Jobs Time Off API
  description: 'The Workiz REST API lets home-service businesses read and write their field service data - jobs, leads, team members, time off, and payments - and receive outbound webhooks for new jobs and new leads. Workiz is field service management (FSM) software covering scheduling and dispatch, CRM, estimates and invoicing, payments, and communications.


    All calls are made to https://api.workiz.com/api/v1/ with the account API token embedded directly in the request path (https://api.workiz.com/api/v1/{api_token}/...). To obtain credentials, enable the Developer API add-on from the Workiz Feature Center / Marketplace and copy the API token (and secret) from Settings > Integrations. Responses are JSON, and HTTP status codes signal errors.


    Endpoint coverage is marked per operation with `x-endpoint-status`: `confirmed` operations are grounded in Workiz''s public developer docs and the community PHP/Python SDKs; `modeled` operations (some Lead writes, the Payments detail, and the webhook payloads) reflect capabilities exposed through Workiz''s UI and integration partners (Make, Pipedream) whose exact request/response shapes are gated behind the authenticated developer portal and are represented here as a best-effort model.'
  version: '1.0'
  contact:
    name: Workiz
    url: https://developer.workiz.com/
servers:
- url: https://api.workiz.com/api/v1/{api_token}
  description: Workiz REST API. The account API token is part of the base path.
  variables:
    api_token:
      default: YOUR_API_TOKEN
      description: The account API token from the Workiz Developer API add-on (Settings > Integrations). It is placed directly in the URL path; there is no Authorization header. A paired API secret is issued for signed requests where required.
tags:
- name: Time Off
  description: Technician time-off records that affect availability.
paths:
  /timeoff/get/:
    get:
      operationId: listTimeOff
      tags:
      - Time Off
      summary: List time off
      description: Returns time-off records for the account.
      x-endpoint-status: confirmed
      responses:
        '200':
          description: A list of time-off records.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimeOffListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /timeoff/get/{USER_NAME}/:
    parameters:
    - name: USER_NAME
      in: path
      required: true
      description: The user name whose time off to retrieve.
      schema:
        type: string
    get:
      operationId: getUserTimeOff
      tags:
      - Time Off
      summary: Get time off for a user
      description: Returns the time-off records for a specific user by name.
      x-endpoint-status: confirmed
      responses:
        '200':
          description: The user's time-off records.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimeOffListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  responses:
    Unauthorized:
      description: Missing or invalid API token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    TimeOff:
      type: object
      properties:
        id:
          type: string
        user:
          type: string
        startDate:
          type: string
          format: date-time
        endDate:
          type: string
          format: date-time
        reason:
          type: string
    TimeOffListResponse:
      type: object
      properties:
        flag:
          type: boolean
        data:
          type: array
          items:
            $ref: '#/components/schemas/TimeOff'
    Error:
      type: object
      properties:
        flag:
          type: boolean
          description: Workiz success flag; false on error.
        code:
          type: integer
        data:
          type: string
          description: Human-readable error message.