Automile ResourceOwnerWorkOrder API
The ResourceOwnerWorkOrder API from Automile — 12 operation(s) for resourceownerworkorder.
The ResourceOwnerWorkOrder API from Automile — 12 operation(s) for resourceownerworkorder.
swagger: '2.0'
info:
title: Automile ClientApi ResourceOwnerWorkOrder API
version: v1
tags:
- name: ResourceOwnerWorkOrder
paths:
/v1/resourceowner/workorders:
get:
tags:
- ResourceOwnerWorkOrder
summary: Retrieve a list of work orders and their containing attachments, items and notes
description: If no time is set on the "to" parameter, then it's assumed all entries on the date should be included, and the time part will be set to 11:59:59 PM
operationId: ResourceOwnerWorkOrder_GetWorkOrderList
produces:
- text/plain
- application/json
- text/json
parameters:
- in: query
name: from
description: Filter on JobDate to be on or after the specified date and time (default is from now)
type: string
format: date-time
- in: query
name: to
description: Filter on JobDate to be before the specified date and time (default is no limitation)
type: string
format: date-time
- in: query
name: jobStatus
description: Status on job (New = 0, Started = 1, Paused = 2, Completed = 3, Cancelled = 4, Invoiced = 5, Paid = 6) (default is all)
type: integer
format: int32
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- in: query
name: includeUnassigned
description: Include unassigned jobs (default is true)
type: boolean
default: true
- in: query
name: includeDeleted
description: Include deleted jobs (default is false)
type: boolean
default: false
responses:
'200':
description: Successful request
schema:
type: array
items:
$ref: '#/definitions/WorkOrderModelGET'
'500':
description: Internal server error
security:
- oauth2: []
post:
tags:
- ResourceOwnerWorkOrder
summary: Create a work order and containing attachments, items and notes
operationId: ResourceOwnerWorkOrder_CreateWorkOrder
consumes:
- application/json
- text/json
- application/*+json
parameters:
- in: body
name: body
description: Work order model
schema:
$ref: '#/definitions/WorkOrderModelPOST'
responses:
'200':
description: Success
'201':
description: Successfully created
'500':
description: Internal server error
security:
- oauth2: []
put:
tags:
- ResourceOwnerWorkOrder
summary: Update or create one or many work orders
description: "For work orders, items, attachments and notes with an id is updated. When id is not provided new objects is created. If an \r\n item, attachment or note is missing on an existing work order that item, attachment or note is removed."
operationId: ResourceOwnerWorkOrder_SaveWorkOrderList
consumes:
- application/json
- text/json
- application/*+json
produces:
- text/plain
- application/json
- text/json
parameters:
- in: body
name: body
description: List of Work Orders
schema:
type: array
items:
$ref: '#/definitions/WorkOrderModelSyncPUT'
responses:
'200':
description: Successful update
schema:
type: array
items:
$ref: '#/definitions/WorkOrderModelGET'
'500':
description: Internal server error.
security:
- oauth2: []
/v1/resourceowner/workorders/{workOrderId}:
get:
tags:
- ResourceOwnerWorkOrder
summary: Retrieve a work order
operationId: ResourceOwnerWorkOrder_GetWorkOrder
produces:
- text/plain
- application/json
- text/json
parameters:
- in: path
name: workOrderId
description: Work order id
required: true
type: integer
format: int32
responses:
'200':
description: Successful request
schema:
$ref: '#/definitions/WorkOrderModelGET'
'500':
description: Internal server error
security:
- oauth2: []
put:
tags:
- ResourceOwnerWorkOrder
summary: Update a work order
operationId: ResourceOwnerWorkOrder_UpdateWorkOrder
consumes:
- application/json
- text/json
- application/*+json
parameters:
- in: path
name: workOrderId
description: Work order id
required: true
type: integer
format: int32
- in: body
name: body
description: Work order
schema:
$ref: '#/definitions/WorkOrderModelPUT'
responses:
'200':
description: Successful update
'403':
description: Forbidden access to resource
'500':
description: Internal server error
security:
- oauth2: []
delete:
tags:
- ResourceOwnerWorkOrder
summary: Delete work order
operationId: ResourceOwnerWorkOrder_DeleteWorkOrder
parameters:
- in: path
name: workOrderId
description: Work order id
required: true
type: integer
format: int32
responses:
'200':
description: Successful delete
'403':
description: Forbidden access to resource
'500':
description: Internal server error
security:
- oauth2: []
/v1/resourceowner/workorders/getwithquoteid/{quoteId}:
get:
tags:
- ResourceOwnerWorkOrder
summary: Retrieve a work order by quote id
operationId: ResourceOwnerWorkOrder_GetWorkOrderByQuoteId
produces:
- text/plain
- application/json
- text/json
parameters:
- in: path
name: quoteId
description: Quote id
required: true
type: integer
format: int32
responses:
'200':
description: Successful request
schema:
$ref: '#/definitions/WorkOrderModelGET'
'500':
description: Internal server error
security:
- oauth2: []
/v1/resourceowner/workorders/{workOrderId}/attachments:
post:
tags:
- ResourceOwnerWorkOrder
summary: Creates an attachment and adds it to an existing work order
operationId: ResourceOwnerWorkOrder_CreateAttachment
consumes:
- application/json
- text/json
- application/*+json
parameters:
- in: path
name: workOrderId
description: The work order which the attachment will be associated with
required: true
type: integer
format: int32
- in: body
name: body
description: Attachment information
schema:
$ref: '#/definitions/WorkOrderAttachmentModelPOST'
responses:
'200':
description: Success
'201':
description: Successfully created
'403':
description: Forbidden access to resource
'500':
description: Internal server error
security:
- oauth2: []
/v1/resourceowner/workorders/{workOrderId}/status:
put:
tags:
- ResourceOwnerWorkOrder
summary: Update status of a work order
operationId: ResourceOwnerWorkOrder_UpdateWorkOrderStatus
consumes:
- application/json
- text/json
- application/*+json
parameters:
- in: path
name: workOrderId
description: The work order which the satus should be updated on
required: true
type: integer
format: int32
- in: body
name: body
description: Job status
schema:
$ref: '#/definitions/WorkOrderStatusModelPUT'
responses:
'200':
description: Successful update
'403':
description: Forbidden access to resource
'500':
description: Internal server error
security:
- oauth2: []
/v1/resourceowner/workorders/articles:
get:
tags:
- ResourceOwnerWorkOrder
summary: Get all articles
operationId: ResourceOwnerWorkOrder_GetArticleList
produces:
- text/plain
- application/json
- text/json
responses:
'200':
description: Successful request
schema:
type: array
items:
$ref: '#/definitions/WorkOrderArticleModelGET'
'403':
description: Forbidden access to resource
'500':
description: Internal server error
security:
- oauth2: []
post:
tags:
- ResourceOwnerWorkOrder
summary: Create a article
operationId: ResourceOwnerWorkOrder_CreateArticle
consumes:
- application/json
- text/json
- application/*+json
parameters:
- in: body
name: body
description: Article information
schema:
$ref: '#/definitions/WorkOrderArticleModelPOST'
responses:
'200':
description: Success
'201':
description: Successfully created
'403':
description: Forbidden access to resource
'500':
description: Internal server error
security:
- oauth2: []
/v1/resourceowner/workorders/articles/{workOrderArticleId}:
get:
tags:
- ResourceOwnerWorkOrder
summary: Get a specific article
operationId: ResourceOwnerWorkOrder_GetArticle
produces:
- text/plain
- application/json
- text/json
parameters:
- in: path
name: workOrderArticleId
description: Work order article id
required: true
type: integer
format: int32
responses:
'200':
description: Successful request
schema:
$ref: '#/definitions/WorkOrderArticleModelGET'
'403':
description: Forbidden access to resource
'500':
description: Internal server error
security:
- oauth2: []
put:
tags:
- ResourceOwnerWorkOrder
summary: Update a article
operationId: ResourceOwnerWorkOrder_UpdateArticle
consumes:
- application/json
- text/json
- application/*+json
parameters:
- in: path
name: workOrderArticleId
description: Work order article id
required: true
type: integer
format: int32
- in: body
name: body
description: Article information
schema:
$ref: '#/definitions/WorkOrderArticleModelPUT'
responses:
'200':
description: Successfully updated
'403':
description: Forbidden access to resource
'500':
description: Internal server error
security:
- oauth2: []
delete:
tags:
- ResourceOwnerWorkOrder
summary: Delete a article
operationId: ResourceOwnerWorkOrder_DeleteArticle
parameters:
- in: path
name: workOrderArticleId
description: Work order article id
required: true
type: integer
format: int32
responses:
'200':
description: Successfully deleted
'403':
description: Forbidden access to resource
'500':
description: Internal server error
security:
- oauth2: []
/v1/resourceowner/workorders/categories:
get:
tags:
- ResourceOwnerWorkOrder
summary: Get all categories
operationId: ResourceOwnerWorkOrder_GetCategoryList
produces:
- text/plain
- application/json
- text/json
responses:
'200':
description: Successful request
schema:
type: array
items:
$ref: '#/definitions/WorkOrderCategoryModelGET'
'403':
description: Forbidden access to resource
'500':
description: Internal server error
security:
- oauth2: []
post:
tags:
- ResourceOwnerWorkOrder
summary: Create a category
operationId: ResourceOwnerWorkOrder_CreateCategory
consumes:
- application/json
- text/json
- application/*+json
parameters:
- in: body
name: body
description: Category information
schema:
$ref: '#/definitions/WorkOrderCategoryModelPOST'
responses:
'200':
description: Success
'201':
description: Successfully created
'403':
description: Forbidden access to resource
'500':
description: Internal server error
security:
- oauth2: []
/v1/resourceowner/workorders/categories/{workOrderCategoryId}:
get:
tags:
- ResourceOwnerWorkOrder
summary: Get a specific category
operationId: ResourceOwnerWorkOrder_GetCategory
produces:
- text/plain
- application/json
- text/json
parameters:
- in: path
name: workOrderCategoryId
description: Work order category id
required: true
type: integer
format: int32
responses:
'200':
description: Successful request
schema:
$ref: '#/definitions/WorkOrderCategoryModelGET'
'403':
description: Forbidden access to resource
'500':
description: Internal server error
security:
- oauth2: []
delete:
tags:
- ResourceOwnerWorkOrder
summary: Delete a category
operationId: ResourceOwnerWorkOrder_DeleteCategory
parameters:
- in: path
name: workOrderCategoryId
description: Work order category id
required: true
type: integer
format: int32
responses:
'200':
description: Successfully deleted
'403':
description: Forbidden access to resource
'500':
description: Internal server error
security:
- oauth2: []
/v1/resourceowner/workorders/customers:
get:
tags:
- ResourceOwnerWorkOrder
summary: Get all customers
operationId: ResourceOwnerWorkOrder_GetCustomerList
produces:
- text/plain
- application/json
- text/json
responses:
'200':
description: Successful request
schema:
type: array
items:
$ref: '#/definitions/WorkOrderCustomerModelGET'
'403':
description: Forbidden access to resource
'500':
description: Internal server error
security:
- oauth2: []
post:
tags:
- ResourceOwnerWorkOrder
summary: Create a customer
operationId: ResourceOwnerWorkOrder_CreateCustomer
consumes:
- application/json
- text/json
- application/*+json
parameters:
- in: body
name: body
description: Customer information
schema:
$ref: '#/definitions/WorkOrderCustomerModelPOST'
responses:
'200':
description: Success
'201':
description: Successfully created
'403':
description: Forbidden access to resource
'500':
description: Internal server error
security:
- oauth2: []
/v1/resourceowner/workorders/customers/{workOrderCustomerId}:
get:
tags:
- ResourceOwnerWorkOrder
summary: Get a specific customer
operationId: ResourceOwnerWorkOrder_GetCustomer
produces:
- text/plain
- application/json
- text/json
parameters:
- in: path
name: workOrderCustomerId
description: Work order customer id
required: true
type: integer
format: int32
responses:
'200':
description: Successful request
schema:
$ref: '#/definitions/WorkOrderCustomerModelGET'
'403':
description: Forbidden access to resource
'500':
description: Internal server error
security:
- oauth2: []
put:
tags:
- ResourceOwnerWorkOrder
summary: Update a customer
operationId: ResourceOwnerWorkOrder_UpdateCustomer
consumes:
- application/json
- text/json
- application/*+json
produces:
- text/plain
- application/json
- text/json
parameters:
- in: path
name: workOrderCustomerId
description: Work order customer id
required: true
type: integer
format: int32
- in: body
name: body
description: Customer information
schema:
$ref: '#/definitions/WorkOrderCustomerModelPUT'
responses:
'200':
description: Successfully updated
schema:
$ref: '#/definitions/WorkOrderCustomerModelGET'
'403':
description: Forbidden access to resource
'500':
description: Internal server error
security:
- oauth2: []
delete:
tags:
- ResourceOwnerWorkOrder
summary: Delete a customer
operationId: ResourceOwnerWorkOrder_DeleteCustomer
parameters:
- in: path
name: workOrderCustomerId
description: Work order customer id
required: true
type: integer
format: int32
responses:
'200':
description: Successfully deleted
'403':
description: Forbidden access to resource
'500':
description: Internal server error
security:
- oauth2: []
/v1/resourceowner/workorders/referenceId:
get:
tags:
- ResourceOwnerWorkOrder
summary: Get a new reference id for a work order (not unique)
operationId: ResourceOwnerWorkOrder_GetNextWorkOrderId
produces:
- text/plain
- application/json
- text/json
responses:
'200':
description: Successful request
schema:
type: string
'403':
description: Forbidden access to resource
'500':
description: Internal server error
security:
- oauth2: []
definitions:
WorkOrderNoteModelPOST:
required:
- Note
type: object
properties:
Note:
minLength: 1
type: string
additionalProperties: false
WorkOrderAttachmentModelGET:
required:
- AttachmentType
- URL
type: object
properties:
URL:
minLength: 1
type: string
Description:
type: string
AttachmentType:
format: int32
enum:
- 0
- 1
- 2
type: integer
WorkOrderAttachmentId:
format: int32
type: integer
CreatedByContactId:
format: int32
type: integer
Created:
format: date-time
type: string
additionalProperties: false
TimeSpan:
type: object
properties:
Ticks:
format: int64
type: integer
Days:
format: int32
type: integer
readOnly: true
Hours:
format: int32
type: integer
readOnly: true
Milliseconds:
format: int32
type: integer
readOnly: true
Microseconds:
format: int32
type: integer
readOnly: true
Nanoseconds:
format: int32
type: integer
readOnly: true
Minutes:
format: int32
type: integer
readOnly: true
Seconds:
format: int32
type: integer
readOnly: true
TotalDays:
format: double
type: number
readOnly: true
TotalHours:
format: double
type: number
readOnly: true
TotalMilliseconds:
format: double
type: number
readOnly: true
TotalMicroseconds:
format: double
type: number
readOnly: true
TotalNanoseconds:
format: double
type: number
readOnly: true
TotalMinutes:
format: double
type: number
readOnly: true
TotalSeconds:
format: double
type: number
readOnly: true
additionalProperties: false
WorkOrderModelGET:
type: object
properties:
JobDate:
format: date-time
type: string
JobTime:
$ref: '#/definitions/TimeSpan'
EstimatedTimeInMinutes:
format: int32
type: integer
JobDescription:
type: string
ExternalId:
type: string
CustomerContactName:
type: string
CustomerEmail:
type: string
CustomerName:
type: string
CustomerCommunicationLanguageISO639_2:
type: string
CustomerPhoneNumber:
type: string
CustomerJobAddress:
$ref: '#/definitions/CustomerJobAddressModel'
CustomerBillingAddress:
$ref: '#/definitions/CustomerBillingAddressModel'
NotificationType:
format: int32
enum:
- 0
- 1
- 2
- 3
type: integer
WorkOrderCategoryId:
format: int32
type: integer
CategoryName:
type: string
AssignedToContactId:
format: int32
type: integer
QuoteId:
format: int32
type: integer
WorkOrderCustomerId:
format: int32
type: integer
Status:
format: int32
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
type: integer
WorkOrderId:
format: int32
type: integer
Created:
format: date-time
type: string
IsDeleted:
type: boolean
Rating:
format: double
type: number
RequestedByContactId:
format: int32
type: integer
StatusHistory:
type: array
items:
$ref: '#/definitions/WorkOrderStatusHistoryModelGET'
Notes:
type: array
items:
$ref: '#/definitions/WorkOrderNoteModelGET'
Items:
type: array
items:
$ref: '#/definitions/WorkOrderItemModelGET'
Attachments:
type: array
items:
$ref: '#/definitions/WorkOrderAttachmentModelGET'
additionalProperties: false
PositionPointModel:
type: object
properties:
Longitude:
format: double
type: number
Latitude:
format: double
type: number
additionalProperties: false
WorkOrderCustomerModelPUT:
type: object
properties:
Name:
type: string
ContactName:
type: string
CommunicationLanguageISO639_2:
type: string
Email:
type: string
PhoneNumber:
type: string
BillingAddress:
$ref: '#/definitions/CustomerBillingAddressModel'
JobAddress:
$ref: '#/definitions/CustomerJobAddressModel'
additionalProperties: false
WorkOrderNoteModelGET:
required:
- Note
type: object
properties:
Note:
minLength: 1
type: string
WorkOrderNoteId:
format: int32
type: integer
CreatedByContactId:
format: int32
type: integer
Created:
format: date-time
type: string
additionalProperties: false
WorkOrderCategoryModelPOST:
required:
- CategoryName
type: object
properties:
CategoryName:
minLength: 1
type: string
additionalProperties: false
WorkOrderAttachmentModelPOST:
required:
- AttachmentType
- URL
type: object
properties:
URL:
minLength: 1
type: string
Description:
type: string
AttachmentType:
format: int32
enum:
- 0
- 1
- 2
type: integer
additionalProperties: false
WorkOrderModelPUT:
type: object
properties:
JobDate:
format: date-time
type: string
JobTime:
$ref: '#/definitions/TimeSpan'
EstimatedTimeInMinutes:
format: int32
type: integer
JobDescription:
type: string
ExternalId:
type: string
CustomerContactName:
type: string
CustomerEmail:
type: string
CustomerName:
type: string
CustomerCommunicationLanguageISO639_2:
type: string
CustomerPhoneNumber:
type: string
CustomerJobAddress:
$ref: '#/definitions/CustomerJobAddressModel'
CustomerBillingAddress:
$ref: '#/definitions/CustomerBillingAddressModel'
NotificationType:
format: int32
enum:
- 0
- 1
- 2
- 3
type: integer
WorkOrderCategoryId:
format: int32
type: integer
CategoryName:
type: string
AssignedToContactId:
format: int32
type: integer
QuoteId:
format: int32
type: integer
WorkOrderCustomerId:
format: int32
type: integer
Status:
format: int32
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
type: integer
Notes:
type: array
items:
$ref: '#/definitions/WorkOrderNoteModelPUT'
Items:
type: array
items:
$ref: '#/definitions/WorkOrderItemModelPUT'
Attachments:
type: array
items:
$ref: '#/definitions/WorkOrderAttachmentModelPUT'
additionalProperties: false
WorkOrderArticleModelPOST:
required:
- ArticleName
- PricePerQuantityExclVAT
- TaxRate
type: object
properties:
UnitType:
format: int32
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
type: integer
ArticleName:
minLength: 1
type: string
PricePerQuantityExclVAT:
format: double
type: number
TaxRate:
format: double
type: number
additionalProperties: false
WorkOrderModelPOST:
type: object
properties:
JobDate:
format: date-time
type: string
JobTime:
$ref: '#/definitions/TimeSpan'
EstimatedTimeInMinutes:
format: int32
type: integer
JobDescription:
type: string
ExternalId:
type: string
CustomerContactName:
type: string
CustomerEmail:
type: string
CustomerName:
type: string
CustomerCommunicationLanguageISO639_2:
type: string
CustomerPhoneNumber:
type: string
CustomerJobAddress:
$ref: '#/definitions/CustomerJobAddressModel'
CustomerBillingAddress:
$ref: '#/definitions/CustomerBillingAddressModel'
NotificationType:
format: int32
enum:
- 0
- 1
- 2
- 3
type: integer
WorkOrderCategoryId:
format: int32
type: integer
CategoryName:
type: string
AssignedToContactId:
format: int32
type: integer
QuoteId:
format: int32
type: integer
WorkOrderCustomerId:
format: int32
type: integer
Status:
format: int32
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
type: integer
Notes:
type: array
items:
$ref: '#/definitions/WorkOrderNoteModelPOST'
Items:
type: array
items:
$ref: '#/definitions/WorkOrderItemModelPOST'
Attachments:
type: array
items:
$ref: '#/definitions/WorkOrderAttachmentModelPOST'
additionalProperties: false
CustomerJobAddressModel:
type: object
properties:
Street:
type: string
Apartment:
type: string
CareOf:
type: string
ZipCode:
type: string
City:
type: string
StateOrProvince:
type: string
ISO3166CountryCode:
type: string
Position:
$ref: '#/definitions/PositionPointModel'
additionalProperties: false
WorkOrderArticleModelPUT:
required:
- ArticleName
- PricePerQuantityExclVAT
- TaxRate
type: object
properties:
UnitType:
format: int32
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
type: integer
ArticleName:
minLength: 1
type: string
PricePerQuantityExclVAT:
format: double
type: number
TaxRate:
format: double
type: number
additionalProperties: false
WorkOrderAttachmentModelPUT:
required:
- AttachmentType
- URL
type: object
properties:
URL:
minLength: 1
type: string
Description:
type: string
AttachmentType:
format: int32
enum:
- 0
- 1
- 2
type: integer
WorkOrderAttachmentId:
format: int32
type: integer
additionalProperties: false
WorkOrderCustomerModelPOST:
type: object
properties:
Name:
type: string
ContactName:
type: string
CommunicationLanguageISO639_2:
type: string
Email:
type: string
PhoneNumber:
type: string
BillingAddress:
$ref: '#/definitions/CustomerBillingAddressModel'
JobAddress:
$ref: '#/definitions/CustomerJobAddressModel'
additionalProperties: false
WorkOrderItemModelPOST:
required:
- Quantity
- WorkOrderArticleId
type: object
properties:
Quantity:
format: double
type: number
PricePerQuantityExclVAT:
format: double
type: number
DiscountInPercentage:
format: double
type: number
DiscountAmount:
format: double
type: number
TaxRate:
format: double
type: number
WorkOrderArticleId:
format: int32
type: integer
ArticleName:
type: string
UnitType:
format: int32
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
type: integer
additionalProperties: false
WorkOrderItemModelPUT:
required:
- Quantity
- WorkOrderArticleId
type: object
properties:
Quantity:
format: double
type: number
PricePerQuantityExclVAT:
format: double
type: number
DiscountInPercentage:
format: double
type: number
DiscountAmount:
format: double
type: number
TaxRate:
format: double
type: number
WorkOrderArticleId:
format: int32
type: integer
ArticleName:
type: string
UnitType:
format: int32
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/automile/refs/heads/main/openapi/automile-resourceownerworkorder-api-openapi.yml