Skip to content

Commit 36ba3f9

Browse files
authored
Merge pull request #493 from XeroAPI/project-tasks
Project tasks
2 parents 38be900 + c5152d4 commit 36ba3f9

11 files changed

+137
-123
lines changed

xero-app-store.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
openapi: 3.0.0
22
info:
3-
version: "2.22.4"
3+
version: "2.23.0"
44
title: Xero AppStore API
55
description: These endpoints are for Xero Partners to interact with the App Store Billing platform
66
termsOfService: "https://developer.xero.com/xero-developer-platform-terms-conditions/"

xero-finance.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
openapi: 3.0.0
22
info:
3-
version: "2.22.4"
3+
version: "2.23.0"
44
title: Xero Finance API
55
description: The Finance API is a collection of endpoints which customers can use in the course of a loan application, which may assist lenders to gain the confidence they need to provide capital.
66
termsOfService: "https://developer.xero.com/xero-developer-platform-terms-conditions/"

xero-identity.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
openapi: 3.0.0
22
info:
3-
version: "2.22.4"
3+
version: "2.23.0"
44
title: Xero OAuth 2 Identity Service API
55
description: These endpoints are related to managing authentication tokens and identity for Xero API
66
termsOfService: "https://developer.xero.com/xero-developer-platform-terms-conditions/"

xero-payroll-au.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
openapi: 3.0.0
22
info:
3-
version: '2.22.4'
3+
version: '2.23.0'
44
title: 'Xero Payroll AU API'
55
description: 'This is the Xero Payroll API for orgs in Australia region.'
66
termsOfService: "https://developer.xero.com/xero-developer-platform-terms-conditions/"

xero-payroll-nz.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
openapi: 3.0.0
22
info:
3-
version: '2.22.4'
3+
version: '2.23.0'
44
title: 'Xero Payroll NZ'
55
description: 'This is the Xero Payroll API for orgs in the NZ region.'
66
termsOfService: "https://developer.xero.com/xero-developer-platform-terms-conditions/"

xero-payroll-uk.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
openapi: 3.0.0
22
info:
3-
version: '2.22.4'
3+
version: '2.23.0'
44
title: 'Xero Payroll UK'
55
description: 'This is the Xero Payroll API for orgs in the UK region.'
66
termsOfService: "https://developer.xero.com/xero-developer-platform-terms-conditions/"

xero-projects.yaml

+127-113
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
openapi: 3.0.0
22
info:
3-
version: "2.22.4"
3+
version: "2.23.0"
44
title: Xero Projects API
55
description: This is the Xero Projects API
66
termsOfService: "https://developer.xero.com/xero-developer-platform-terms-conditions/"
@@ -551,40 +551,42 @@ paths:
551551
}
552552
]
553553
}'
554-
# post:
555-
# security:
556-
# - OAuth2: [projects]
557-
# tags:
558-
# - Project
559-
# summary: Allows you to create a task
560-
# operationId: createTask
561-
# description: Allows you to create a specific task
562-
# parameters:
563-
# - name: projectId
564-
# in: path
565-
# required: true
566-
# description: You can create a task on a specified projectId
567-
# schema:
568-
# type: string
569-
# format: uuid
570-
# requestBody:
571-
# required: true
572-
# description: The task object you are creating
573-
# content:
574-
# application/json:
575-
# schema:
576-
# $ref: '#/components/schemas/TaskCreateOrUpdate'
577-
# example:
578-
# '{
579-
# "status": "INPROGRESS"
580-
# }'
581-
# responses:
582-
# '200':
583-
# description: OK/success, returns a list of tasks created
584-
# content:
585-
# application/json:
586-
# schema:
587-
# $ref: '#/components/schemas/Tasks'
554+
'400':
555+
$ref: '#/components/responses/400Error'
556+
post:
557+
security:
558+
- OAuth2: [projects]
559+
tags:
560+
- Project
561+
summary: Allows you to create a task
562+
operationId: createTask
563+
description: Allows you to create a specific task
564+
parameters:
565+
- name: projectId
566+
x-snake: project_id
567+
in: path
568+
required: true
569+
description: You can create a task on a specified projectId
570+
schema:
571+
type: string
572+
format: uuid
573+
requestBody:
574+
required: true
575+
description: The task object you are creating
576+
content:
577+
application/json:
578+
schema:
579+
$ref: '#/components/schemas/TaskCreateOrUpdate'
580+
example:
581+
'{
582+
"status": "INPROGRESS"
583+
}'
584+
responses:
585+
'201':
586+
description: OK/Success - return response 201 no content
587+
x-isEmpty: true
588+
'400':
589+
$ref: '#/components/responses/400Error'
588590
/Projects/{projectId}/Tasks/{taskId}:
589591
parameters:
590592
- $ref: '#/components/parameters/requiredHeader'
@@ -649,71 +651,78 @@ paths:
649651
"value": 0
650652
}
651653
}'
652-
# put:
653-
# security:
654-
# - OAuth2: [projects]
655-
# tags:
656-
# - Project
657-
# summary: Allows you to update a task
658-
# operationId: updateTask
659-
# description: Allows you to update a specific task
660-
# parameters:
661-
# - name: projectId
662-
# in: path
663-
# required: true
664-
# description: You can specify an individual project by appending the projectId to the endpoint
665-
# schema:
666-
# type: string
667-
# format: uuid
668-
# - name: taskId
669-
# in: path
670-
# required: true
671-
# description: You can specify an individual task by appending the id to the endpoint
672-
# schema:
673-
# type: string
674-
# format: uuid
675-
# requestBody:
676-
# required: true
677-
# description: The task object you are updating
678-
# content:
679-
# application/json:
680-
# schema:
681-
# $ref: '#/components/schemas/TaskCreateOrUpdate'
682-
# example: ''
683-
# responses:
684-
# '200':
685-
# description: OK/success, returns a list of tasks updated
686-
# content:
687-
# application/json:
688-
# schema:
689-
# $ref: '#/components/schemas/Tasks'
690-
# delete:
691-
# security:
692-
# - OAuth2: [projects]
693-
# tags:
694-
# - Project
695-
# summary: Allows you to delete a task
696-
# operationId: deleteTask
697-
# description: Allows you to delete a specific task
698-
# parameters:
699-
# - name: projectId
700-
# in: path
701-
# required: true
702-
# description: You can specify an individual project by appending the projectId to the endpoint
703-
# schema:
704-
# type: string
705-
# format: uuid
706-
# - name: taskId
707-
# in: path
708-
# required: true
709-
# description: You can specify an individual task by appending the id to the endpoint
710-
# schema:
711-
# type: string
712-
# format: uuid
713-
# responses:
714-
# '204':
715-
# description: Success - return response 204 no content
716-
# x-isEmpty: true
654+
'400':
655+
$ref: '#/components/responses/400Error'
656+
put:
657+
security:
658+
- OAuth2: [projects]
659+
tags:
660+
- Project
661+
summary: Allows you to update a task
662+
operationId: updateTask
663+
description: Allows you to update a specific task
664+
parameters:
665+
- name: projectId
666+
x-snake: project_id
667+
in: path
668+
required: true
669+
description: You can specify an individual project by appending the projectId to the endpoint
670+
schema:
671+
type: string
672+
format: uuid
673+
- name: taskId
674+
x-snake: task_id
675+
in: path
676+
required: true
677+
description: You can specify an individual task by appending the id to the endpoint
678+
schema:
679+
type: string
680+
format: uuid
681+
requestBody:
682+
required: true
683+
description: The task object you are updating
684+
content:
685+
application/json:
686+
schema:
687+
$ref: '#/components/schemas/TaskCreateOrUpdate'
688+
example: ''
689+
responses:
690+
'204':
691+
description: OK/Success - return response 204 no content
692+
x-isEmpty: true
693+
'400':
694+
$ref: '#/components/responses/400Error'
695+
delete:
696+
security:
697+
- OAuth2: [projects]
698+
tags:
699+
- Project
700+
summary: Allows you to delete a task
701+
operationId: deleteTask
702+
description: Allows you to delete a specific task
703+
parameters:
704+
- name: projectId
705+
x-snake: project_id
706+
in: path
707+
required: true
708+
description: You can specify an individual project by appending the projectId to the endpoint
709+
schema:
710+
type: string
711+
format: uuid
712+
- name: taskId
713+
x-snake: task_id
714+
in: path
715+
required: true
716+
description: You can specify an individual task by appending the id to the endpoint
717+
schema:
718+
type: string
719+
format: uuid
720+
responses:
721+
'204':
722+
description: Success - return response 204 no content
723+
x-isEmpty: true
724+
'400':
725+
$ref: '#/components/responses/400Error'
717726
/Projects/{projectId}/Time:
718727
parameters:
719728
- $ref: '#/components/parameters/requiredHeader'
@@ -841,6 +850,8 @@ paths:
841850
}
842851
]
843852
}'
853+
'400':
854+
$ref: '#/components/responses/400Error'
844855
post:
845856
security:
846857
- OAuth2: [projects]
@@ -890,6 +901,8 @@ paths:
890901
"description": "My description",
891902
"status": "ACTIVE"
892903
}'
904+
'400':
905+
$ref: '#/components/responses/400Error'
893906
/Projects/{projectId}/Time/{timeEntryId}:
894907
parameters:
895908
- $ref: '#/components/parameters/requiredHeader'
@@ -936,6 +949,8 @@ paths:
936949
"description": "My description",
937950
"status": "ACTIVE"
938951
}'
952+
'400':
953+
$ref: '#/components/responses/400Error'
939954
put:
940955
security:
941956
- OAuth2: [projects]
@@ -979,6 +994,8 @@ paths:
979994
'204':
980995
description: Success - return response 204 no content
981996
x-isEmpty: true
997+
'400':
998+
$ref: '#/components/responses/400Error'
982999
delete:
9831000
security:
9841001
- OAuth2: [projects]
@@ -1008,6 +1025,8 @@ paths:
10081025
'204':
10091026
description: Success - return response 204 no content
10101027
x-isEmpty: true
1028+
'400':
1029+
$ref: '#/components/responses/400Error'
10111030
components:
10121031
securitySchemes:
10131032
OAuth2:
@@ -1434,36 +1453,30 @@ components:
14341453
$ref: '#/components/schemas/ChargeType'
14351454
type: string
14361455
estimateMinutes:
1437-
type: number
1438-
format: double
1456+
type: integer
14391457
description: An estimated time to perform the task
14401458
projectId:
14411459
type: string
14421460
format: uuid
14431461
example: '00000000-0000-0000-000-000000000000'
14441462
description: Identifier of the project task belongs to.
14451463
totalMinutes:
1446-
type: number
1447-
format: double
1464+
type: integer
14481465
description: Total minutes which have been logged against the task. Logged by assigning a time entry to a task
14491466
totalAmount:
14501467
$ref: '#/components/schemas/Amount'
14511468
type: number
14521469
minutesInvoiced:
1453-
type: number
1454-
format: double
1470+
type: integer
14551471
description: Minutes on this task which have been invoiced.
14561472
minutesToBeInvoiced:
1457-
type: number
1458-
format: double
1473+
type: integer
14591474
description: Minutes on this task which have not been invoiced.
14601475
fixedMinutes:
1461-
type: number
1462-
format: double
1476+
type: integer
14631477
description: Minutes logged against this task if its charge type is `FIXED`.
14641478
nonChargeableMinutes:
1465-
type: number
1466-
format: double
1479+
type: integer
14671480
description: Minutes logged against this task if its charge type is `NON_CHARGEABLE`.
14681481
amountToBeInvoiced:
14691482
$ref: '#/components/schemas/Amount'
@@ -1496,12 +1509,13 @@ components:
14961509
maximum: 100
14971510
rate:
14981511
$ref: '#/components/schemas/Amount'
1512+
type: number
14991513
chargeType:
15001514
$ref: '#/components/schemas/ChargeType'
15011515
type: string
15021516
estimateMinutes:
15031517
type: integer
1504-
description: "Estimated time to perform the task. EstimateMinutes has to be greater than 0 if provided."
1518+
description: An estimated time to perform the task
15051519
required:
15061520
- name
15071521
- rate

xero_accounting.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
openapi: 3.0.0
22
info:
33
title: Xero Accounting API
4-
version: "2.22.4"
4+
version: "2.23.0"
55
termsOfService: "https://developer.xero.com/xero-developer-platform-terms-conditions/"
66
contact:
77
name: "Xero Platform Team"

xero_assets.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
openapi: 3.0.0
22
info:
3-
version: "2.22.4"
3+
version: "2.23.0"
44
title: Xero Assets API
55
description: The Assets API exposes fixed asset related functions of the Xero Accounting application and can be used for a variety of purposes such as creating assets, retrieving asset valuations etc.
66
termsOfService: "https://developer.xero.com/xero-developer-platform-terms-conditions/"

0 commit comments

Comments
 (0)