openapi: 3.0.1 info: title: Fleetio Developer Contacts Work Orders API description: JSON REST API for the Fleetio fleet management platform. Manage vehicles, contacts, fuel entries, service entries, work orders, service reminders, parts and inventory, inspections, and issues, and register webhooks for event notifications. All access is over HTTPS and all data is sent and received as JSON. termsOfService: https://www.fleetio.com/legal/terms contact: name: Fleetio Developer Support url: https://developer.fleetio.com/ version: '2025-05-05' servers: - url: https://secure.fleetio.com/api description: Fleetio production API security: - AuthorizationToken: [] AccountToken: [] tags: - name: Work Orders paths: /v1/work_orders: get: operationId: listWorkOrders tags: - Work Orders summary: List work orders parameters: - $ref: '#/components/parameters/PerPage' - $ref: '#/components/parameters/StartCursor' responses: '200': description: A list of work orders. content: application/json: schema: type: array items: $ref: '#/components/schemas/WorkOrder' post: operationId: createWorkOrder tags: - Work Orders summary: Create a work order requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WorkOrder' responses: '201': description: The created work order. content: application/json: schema: $ref: '#/components/schemas/WorkOrder' /v1/work_orders/{id}: parameters: - $ref: '#/components/parameters/ResourceId' get: operationId: getWorkOrder tags: - Work Orders summary: Get a work order responses: '200': description: The requested work order. content: application/json: schema: $ref: '#/components/schemas/WorkOrder' patch: operationId: updateWorkOrder tags: - Work Orders summary: Update a work order requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WorkOrder' responses: '200': description: The updated work order. content: application/json: schema: $ref: '#/components/schemas/WorkOrder' components: parameters: PerPage: name: per_page in: query required: false description: Number of records to return per page. schema: type: integer default: 50 maximum: 100 StartCursor: name: start_cursor in: query required: false description: Cursor for cursor-based pagination of list results. schema: type: string ResourceId: name: id in: path required: true description: The unique identifier of the resource. schema: type: integer format: int64 schemas: WorkOrder: type: object properties: id: type: integer format: int64 readOnly: true number: type: string vehicle_id: type: integer format: int64 work_order_status_id: type: integer format: int64 work_order_status_name: type: string issued_at: type: string format: date-time nullable: true completed_at: type: string format: date-time nullable: true scheduled_at: type: string format: date-time nullable: true meter_value: type: number total_amount: type: number labor_subtotal: type: number parts_subtotal: type: number created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true securitySchemes: AuthorizationToken: type: apiKey in: header name: Authorization description: 'API key associated with a Fleetio user, prefixed with the word "Token" (e.g. "Authorization: Token YOUR_API_KEY"). Generate keys at https://secure.fleetio.com/api_keys.' AccountToken: type: apiKey in: header name: Account-Token description: Account token identifying the Fleetio account.