Workspaceยถ
Add Invoices To A Workspaceยถ
HTTP Request
PUT /api/v1/workspace/{id}/invoices/add
๐ Description: Adds one or more Approved invoices to the specified workspace. Returns a result object describing which invoices were added and which were skipped (e.g. already linked).
Parameters
Name |
In |
Type |
Required |
Description |
|---|---|---|---|---|
id |
path |
integer(int64) |
true |
Workspace ID |
body |
body |
array[integer] |
true |
Request body containing the invoice details, including line items, amounts, and associated metadata, necessary for adding an invoice to the specified workspace. |
Body Parameters
1[
2 0
3]
Responses
Status |
Meaning |
Description |
Schema |
|---|---|---|---|
200 |
Invoices processed; see result body for per-invoice outcome |
||
409 |
Payment amount exceeds remaining invoice balance |
||
502 |
Downstream service call failed |
Example Responses
1{
2 "workspaceId": 0,
3 "workspaceDisplayId": "string",
4 "workspaceName": "string",
5 "results": [
6 {
7 "entity": {
8 "id": 0,
9 "displayId": "string",
10 "name": "string",
11 "invoiceType": "VENDOR_INV",
12 "state": "INV_DRAFT",
13 "externalDocumentNumber": "string",
14 "purchaseOrderReference": "string",
15 "invoiceDate": "2019-08-24",
16 "dueDate": "2019-08-24",
17 "notes": "string",
18 "billingPeriodFromDate": "2019-08-24",
19 "billingPeriodToDate": "2019-08-24",
20 "currency": {
21 "id": 0,
22 "displayId": "string",
23 "status": "CREATED",
24 "name": "string",
25 "decimalPoints": 0
26 },
27 "vendor": {
28 "id": 0,
29 "displayId": "string",
30 "status": "CREATED",
31 "name": "string",
32 "erpSystemDisplayId": "string"
33 },
34 "company": {
35 "id": 0,
36 "displayId": "string",
37 "status": "CREATED",
38 "erpSystemId": 0,
39 "erpSystemDisplayId": "string",
40 "countryId": 0,
41 "countryDisplayId": "string",
42 "name": "string",
43 "postingPeriodVariantId": 0,
44 "fiscalVariantId": 0
45 },
46 "netAmount": 0,
47 "taxAmount": 0,
48 "totalAmount": 0,
49 "netAmountBalance": 0,
50 "taxAmountBalance": 0,
51 "paymentTerm": {
52 "id": 0,
53 "displayId": "string",
54 "status": "CREATED",
55 "name": "string"
56 },
57 "paymentMethod": {
58 "id": 0,
59 "displayId": "string",
60 "status": "CREATED",
61 "name": "string",
62 "type": "string"
63 },
64 "paymentBlock": {
65 "id": 0,
66 "displayId": "string",
67 "status": "CREATED",
68 "name": "string"
69 },
70 "defaultCostCenter": {
71 "id": 0,
72 "displayId": "string",
73 "status": "CREATED",
74 "name": "string",
75 "erpSystemId": 0
76 },
77 "defaultProfitCenter": {
78 "id": 0,
79 "displayId": "string",
80 "status": "CREATED",
81 "name": "string",
82 "validTo": "2019-08-24",
83 "erpSystemId": 0,
84 "erpSystemDisplayId": "string"
85 },
86 "invoiceLineItems": [
87 {
88 "id": 0,
89 "displayId": "string",
90 "expenseCategory": {
91 "id": 0,
92 "displayId": "string",
93 "status": "CREATED",
94 "name": "string",
95 "expenseCategoryType": "PAYMENT"
96 },
97 "description": "string",
98 "unitOfMeasure": {
99 "id": 0,
100 "displayId": "string",
101 "status": "CREATED",
102 "name": "string",
103 "erpSystemId": 0
104 },
105 "quantity": 0,
106 "unitPrice": 0,
107 "taxJurisdiction": {
108 "id": 0,
109 "displayId": "string",
110 "status": "CREATED",
111 "name": "string",
112 "erpSystemId": 0,
113 "schema": "string",
114 "countryDisplayId": "string"
115 },
116 "taxCode": {
117 "id": 0,
118 "displayId": "string",
119 "status": "CREATED",
120 "name": "string",
121 "erpSystemId": 0
122 },
123 "taxExpenseAccount": {
124 "id": 0,
125 "displayId": "string",
126 "generalLedgerAccountName": "string",
127 "generalLedgerAccountCode": "string",
128 "openItemManagement": true,
129 "accountCategory": "BALANCESHEET",
130 "shortName": "string",
131 "longName": "string"
132 },
133 "taxLineItems": [
134 {
135 "id": 0,
136 "taxRate": 0.1,
137 "taxAmount": 0,
138 "taxType": "string",
139 "invoiceLineItemId": 0
140 }
141 ],
142 "workBreakdownStructure": {
143 "id": 0,
144 "displayId": "string",
145 "status": "CREATED",
146 "name": "string",
147 "erpSystemId": 0
148 },
149 "costCenter": {
150 "id": 0,
151 "displayId": "string",
152 "status": "CREATED",
153 "name": "string",
154 "erpSystemId": 0
155 },
156 "profitCenter": {
157 "id": 0,
158 "displayId": "string",
159 "status": "CREATED",
160 "name": "string",
161 "validTo": "2019-08-24",
162 "erpSystemId": 0,
163 "erpSystemDisplayId": "string"
164 },
165 "functionalArea": {
166 "id": 0,
167 "displayId": "string",
168 "status": "CREATED",
169 "name": "string",
170 "erpSystemId": 0
171 },
172 "businessArea": {
173 "id": 0,
174 "displayId": "string",
175 "status": "CREATED",
176 "name": "string",
177 "erpSystemId": 0
178 },
179 "segment": {
180 "id": 0,
181 "displayId": "string",
182 "status": "CREATED",
183 "name": "string",
184 "erpSystemId": 0
185 },
186 "network": {
187 "id": 0,
188 "displayId": "string",
189 "status": "CREATED",
190 "name": "string",
191 "erpSystemId": 0
192 },
193 "internalOrderType": {
194 "id": 0,
195 "displayId": "string",
196 "status": "CREATED",
197 "name": "string",
198 "erpSystemId": 0
199 },
200 "internalOrder": {
201 "id": 0,
202 "displayId": "string",
203 "status": "CREATED",
204 "name": "string",
205 "erpSystemId": 0,
206 "internalOrderTypeId": 0
207 },
208 "additionalCurrencies": [
209 {
210 "id": 0,
211 "amount": 0,
212 "currency": {
213 "id": 0,
214 "displayId": "string",
215 "status": "CREATED",
216 "name": "string",
217 "decimalPoints": 0
218 },
219 "conversionRate": 0,
220 "conversionDate": "2019-08-24",
221 "translationDateType": "DOCUMENT_DATE",
222 "amountType": "NET_AMOUNT",
223 "currencyDefinitionType": "CONTRACT_CURRENCY",
224 "invoiceEntryId": 0,
225 "invoiceEntryDisplayId": "string"
226 }
227 ],
228 "scheduledPaymentMatches": [
229 {
230 "id": 0,
231 "fromId": 0,
232 "toId": 0,
233 "amount": 0
234 }
235 ],
236 "goodsReceiptLineItemLinks": [
237 {
238 "id": 0,
239 "fromId": 0,
240 "toId": 0,
241 "linkedQuantity": 0
242 }
243 ],
244 "invoiceId": 0,
245 "invoiceDisplayId": "string",
246 "invoiceState": "INV_DRAFT",
247 "vendorPaymentId": 0,
248 "purchaseOrderLineItemId": 0,
249 "netAmount": 0,
250 "allowsSystemGenerateNewId": true,
251 "numberRangeIdentifierValue": "string",
252 "numberRangeIdentifierType": {
253 "name": "string"
254 },
255 "numberRangeType": {
256 "name": "string"
257 }
258 }
259 ],
260 "workspaceId": 0,
261 "workspaceDisplayId": "string",
262 "workspaceName": "string",
263 "workspaceState": "INV_DRAFT",
264 "remainingNetAmount": 0,
265 "remainingTaxAmount": 0,
266 "remainingTotalAmount": 0,
267 "pendingPaymentCount": 0,
268 "allPaymentsPosted": true,
269 "approvalInfo": {
270 "approverUsername": "string",
271 "approvedAt": "2019-08-24T14:15:22Z"
272 },
273 "rejectionReason": "string",
274 "allowsSystemGenerateNewId": true,
275 "numberRangeIdentifierValue": "string",
276 "numberRangeIdentifierType": {
277 "name": "string"
278 },
279 "numberRangeType": {
280 "name": "string"
281 }
282 },
283 "entityId": 0,
284 "status": "SUCCESS",
285 "errorMessage": "string"
286 }
287 ],
288 "totalProcessed": 0,
289 "successCount": 0,
290 "failedCount": 0,
291 "alreadyLinkedCount": 0
292}
Get A Resource By IDยถ
HTTP Request
GET /api/v1/workspace/{id}
๐ Description: Returns the single resource with the given ID.
Parameters
Name |
In |
Type |
Required |
Description |
|---|---|---|---|---|
id |
path |
integer(int64) |
true |
Resource ID |
Responses
Status |
Meaning |
Description |
Schema |
|---|---|---|---|
200 |
OK |
||
409 |
Payment amount exceeds remaining invoice balance |
||
502 |
Downstream service call failed |
Example Responses
1{
2 "code": "UPDATED",
3 "errors": {
4 "all": [
5 {
6 "type": "GENERIC",
7 "source": {},
8 "errorMessage": "string",
9 "field": "string",
10 "errorKey": "string"
11 }
12 ]
13 },
14 "object": {
15 "id": 0,
16 "displayId": "string",
17 "name": "string",
18 "state": "INV_DRAFT",
19 "postingDate": "2019-08-24",
20 "userDocumentDate": "2019-08-24",
21 "owner": {
22 "id": 0,
23 "accountId": 0,
24 "fullName": "string",
25 "firstName": "string",
26 "lastName": "string",
27 "username": "string",
28 "email": "string",
29 "accountName": "string",
30 "profile": "string"
31 },
32 "allowsSystemGenerateNewId": true,
33 "numberRangeIdentifierValue": "string",
34 "numberRangeIdentifierType": {
35 "name": "string"
36 },
37 "numberRangeType": {
38 "name": "string"
39 }
40 }
41}
Update A Resourceยถ
HTTP Request
PUT /api/v1/workspace/{id}
๐ Description: Fully replaces the resource with the given ID. All fields in the request body are applied.
Parameters
Name |
In |
Type |
Required |
Description |
|---|---|---|---|---|
id |
path |
integer(int64) |
true |
Resource ID |
body |
body |
true |
Request body containing the updated workspace details, including name, description, and configuration settings, to facilitate effective workspace management. |
Body Parameters
1{
2 "id": 0,
3 "displayId": "string",
4 "name": "string",
5 "state": "INV_DRAFT",
6 "postingDate": "2019-08-24",
7 "userDocumentDate": "2019-08-24",
8 "owner": {
9 "id": 0,
10 "accountId": 0,
11 "fullName": "string",
12 "firstName": "string",
13 "lastName": "string",
14 "username": "string",
15 "email": "string",
16 "accountName": "string",
17 "profile": "string"
18 },
19 "allowsSystemGenerateNewId": true,
20 "numberRangeIdentifierValue": "string",
21 "numberRangeIdentifierType": {
22 "name": "string"
23 },
24 "numberRangeType": {
25 "name": "string"
26 }
27}
Responses
Status |
Meaning |
Description |
Schema |
|---|---|---|---|
200 |
OK |
||
409 |
Payment amount exceeds remaining invoice balance |
||
502 |
Downstream service call failed |
Example Responses
1{
2 "code": "UPDATED",
3 "errors": {
4 "all": [
5 {
6 "type": "GENERIC",
7 "source": {},
8 "errorMessage": "string",
9 "field": "string",
10 "errorKey": "string"
11 }
12 ]
13 },
14 "object": {
15 "id": 0,
16 "displayId": "string",
17 "name": "string",
18 "state": "INV_DRAFT",
19 "postingDate": "2019-08-24",
20 "userDocumentDate": "2019-08-24",
21 "owner": {
22 "id": 0,
23 "accountId": 0,
24 "fullName": "string",
25 "firstName": "string",
26 "lastName": "string",
27 "username": "string",
28 "email": "string",
29 "accountName": "string",
30 "profile": "string"
31 },
32 "allowsSystemGenerateNewId": true,
33 "numberRangeIdentifierValue": "string",
34 "numberRangeIdentifierType": {
35 "name": "string"
36 },
37 "numberRangeType": {
38 "name": "string"
39 }
40 }
41}
Delete A Single Resourceยถ
HTTP Request
DELETE /api/v1/workspace/{id}
๐ Description: Permanently deletes the resource with the given ID.
Parameters
Name |
In |
Type |
Required |
Description |
|---|---|---|---|---|
id |
path |
integer(int64) |
true |
Unique identifier for the resource |
Responses
Status |
Meaning |
Description |
Schema |
|---|---|---|---|
200 |
OK |
||
409 |
Payment amount exceeds remaining invoice balance |
||
502 |
Downstream service call failed |
Example Responses
1{
2 "code": "UPDATED",
3 "errors": {
4 "all": [
5 {
6 "type": "GENERIC",
7 "source": {},
8 "errorMessage": "string",
9 "field": "string",
10 "errorKey": "string"
11 }
12 ]
13 },
14 "object": {}
15}
Partially Update A Resource (Json Patch)ยถ
HTTP Request
PATCH /api/v1/workspace/{id}
๐ Description: Applies a JSON Patch (RFC 6902) document to the resource with the given ID. Only the fields specified in the patch are modified; all other fields remain unchanged.
Parameters
Name |
In |
Type |
Required |
Description |
|---|---|---|---|---|
id |
path |
integer(int64) |
true |
Unique identifier for the resource |
body |
body |
true |
Request body containing the updated workspace information, including attributes such as name, description, and configuration settings. |
Body Parameters
1{}
Responses
Status |
Meaning |
Description |
Schema |
|---|---|---|---|
200 |
OK |
||
409 |
Payment amount exceeds remaining invoice balance |
||
502 |
Downstream service call failed |
Example Responses
1{
2 "code": "UPDATED",
3 "errors": {
4 "all": [
5 {
6 "type": "GENERIC",
7 "source": {},
8 "errorMessage": "string",
9 "field": "string",
10 "errorKey": "string"
11 }
12 ]
13 },
14 "object": {
15 "id": 0,
16 "displayId": "string",
17 "name": "string",
18 "state": "INV_DRAFT",
19 "postingDate": "2019-08-24",
20 "userDocumentDate": "2019-08-24",
21 "owner": {
22 "id": 0,
23 "accountId": 0,
24 "fullName": "string",
25 "firstName": "string",
26 "lastName": "string",
27 "username": "string",
28 "email": "string",
29 "accountName": "string",
30 "profile": "string"
31 },
32 "allowsSystemGenerateNewId": true,
33 "numberRangeIdentifierValue": "string",
34 "numberRangeIdentifierType": {
35 "name": "string"
36 },
37 "numberRangeType": {
38 "name": "string"
39 }
40 }
41}
Not Supported โ Use Put /{ID} To Update A Workspaceยถ
HTTP Request
PUT /api/v1/workspace/createOrUpdate
๐ Description: Not supported โ use PUT /{id} to update a workspace
Parameters
Name |
In |
Type |
Required |
Description |
|---|---|---|---|---|
body |
body |
true |
Request body containing the workspace details, including configuration settings and user permissions, for creating or updating a workspace. |
Body Parameters
1{
2 "id": 0,
3 "displayId": "string",
4 "name": "string",
5 "state": "INV_DRAFT",
6 "postingDate": "2019-08-24",
7 "userDocumentDate": "2019-08-24",
8 "owner": {
9 "id": 0,
10 "accountId": 0,
11 "fullName": "string",
12 "firstName": "string",
13 "lastName": "string",
14 "username": "string",
15 "email": "string",
16 "accountName": "string",
17 "profile": "string"
18 },
19 "allowsSystemGenerateNewId": true,
20 "numberRangeIdentifierValue": "string",
21 "numberRangeIdentifierType": {
22 "name": "string"
23 },
24 "numberRangeType": {
25 "name": "string"
26 }
27}
Responses
Status |
Meaning |
Description |
Schema |
|---|---|---|---|
405 |
Method Not Allowed |
||
409 |
Payment amount exceeds remaining invoice balance |
||
502 |
Downstream service call failed |
Example Responses
1{
2 "code": "UPDATED",
3 "errors": {
4 "all": [
5 {
6 "type": "GENERIC",
7 "source": {},
8 "errorMessage": "string",
9 "field": "string",
10 "errorKey": "string"
11 }
12 ]
13 },
14 "object": {
15 "id": 0,
16 "displayId": "string",
17 "name": "string",
18 "state": "INV_DRAFT",
19 "postingDate": "2019-08-24",
20 "userDocumentDate": "2019-08-24",
21 "owner": {
22 "id": 0,
23 "accountId": 0,
24 "fullName": "string",
25 "firstName": "string",
26 "lastName": "string",
27 "username": "string",
28 "email": "string",
29 "accountName": "string",
30 "profile": "string"
31 },
32 "allowsSystemGenerateNewId": true,
33 "numberRangeIdentifierValue": "string",
34 "numberRangeIdentifierType": {
35 "name": "string"
36 },
37 "numberRangeType": {
38 "name": "string"
39 }
40 }
41}
Bulk-Update Resourcesยถ
HTTP Request
PUT /api/v1/workspace/bulk
๐ Description: Updates multiple resources in a single request. Partial success: each item is processed independently. Items that pass validation are updated; failed items are recorded in the response
errorslist. The response body always contains the successfully updated items alongside any per-item errors.
Parameters
Name |
In |
Type |
Required |
Description |
|---|---|---|---|---|
body |
body |
true |
Request body containing an array of workspace configurations for bulk updates, including details such as workspace identifiers, settings, and associated metadata. |
Body Parameters
1[
2 {
3 "id": 0,
4 "displayId": "string",
5 "name": "string",
6 "state": "INV_DRAFT",
7 "postingDate": "2019-08-24",
8 "userDocumentDate": "2019-08-24",
9 "owner": {
10 "id": 0,
11 "accountId": 0,
12 "fullName": "string",
13 "firstName": "string",
14 "lastName": "string",
15 "username": "string",
16 "email": "string",
17 "accountName": "string",
18 "profile": "string"
19 },
20 "allowsSystemGenerateNewId": true,
21 "numberRangeIdentifierValue": "string",
22 "numberRangeIdentifierType": {
23 "name": "string"
24 },
25 "numberRangeType": {
26 "name": "string"
27 }
28 }
29]
Responses
Status |
Meaning |
Description |
Schema |
|---|---|---|---|
200 |
OK |
||
409 |
Payment amount exceeds remaining invoice balance |
||
502 |
Downstream service call failed |
Example Responses
1{
2 "code": "UPDATED",
3 "errors": {
4 "all": [
5 {
6 "type": "GENERIC",
7 "source": {},
8 "errorMessage": "string",
9 "field": "string",
10 "errorKey": "string"
11 }
12 ]
13 },
14 "object": [
15 {
16 "id": 0,
17 "displayId": "string",
18 "name": "string",
19 "state": "INV_DRAFT",
20 "postingDate": "2019-08-24",
21 "userDocumentDate": "2019-08-24",
22 "owner": {
23 "id": 0,
24 "accountId": 0,
25 "fullName": "string",
26 "firstName": "string",
27 "lastName": "string",
28 "username": "string",
29 "email": "string",
30 "accountName": "string",
31 "profile": "string"
32 },
33 "allowsSystemGenerateNewId": true,
34 "numberRangeIdentifierValue": "string",
35 "numberRangeIdentifierType": {
36 "name": "string"
37 },
38 "numberRangeType": {
39 "name": "string"
40 }
41 }
42 ]
43}
Not Supported โ Bulk Workspace Creation Is Disabledยถ
HTTP Request
POST /api/v1/workspace/bulk
๐ Description: Not supported โ bulk workspace creation is disabled
Parameters
Name |
In |
Type |
Required |
Description |
|---|---|---|---|---|
body |
body |
true |
Request body containing an array of workspace configurations for bulk creation, including essential attributes such as workspace name, description, and associated user roles. |
Body Parameters
1[
2 {
3 "id": 0,
4 "displayId": "string",
5 "name": "string",
6 "state": "INV_DRAFT",
7 "postingDate": "2019-08-24",
8 "userDocumentDate": "2019-08-24",
9 "owner": {
10 "id": 0,
11 "accountId": 0,
12 "fullName": "string",
13 "firstName": "string",
14 "lastName": "string",
15 "username": "string",
16 "email": "string",
17 "accountName": "string",
18 "profile": "string"
19 },
20 "allowsSystemGenerateNewId": true,
21 "numberRangeIdentifierValue": "string",
22 "numberRangeIdentifierType": {
23 "name": "string"
24 },
25 "numberRangeType": {
26 "name": "string"
27 }
28 }
29]
Responses
Status |
Meaning |
Description |
Schema |
|---|---|---|---|
405 |
Method Not Allowed |
||
409 |
Payment amount exceeds remaining invoice balance |
||
502 |
Downstream service call failed |
Example Responses
1{
2 "code": "UPDATED",
3 "errors": {
4 "all": [
5 {
6 "type": "GENERIC",
7 "source": {},
8 "errorMessage": "string",
9 "field": "string",
10 "errorKey": "string"
11 }
12 ]
13 },
14 "object": [
15 {
16 "id": 0,
17 "displayId": "string",
18 "name": "string",
19 "state": "INV_DRAFT",
20 "postingDate": "2019-08-24",
21 "userDocumentDate": "2019-08-24",
22 "owner": {
23 "id": 0,
24 "accountId": 0,
25 "fullName": "string",
26 "firstName": "string",
27 "lastName": "string",
28 "username": "string",
29 "email": "string",
30 "accountName": "string",
31 "profile": "string"
32 },
33 "allowsSystemGenerateNewId": true,
34 "numberRangeIdentifierValue": "string",
35 "numberRangeIdentifierType": {
36 "name": "string"
37 },
38 "numberRangeType": {
39 "name": "string"
40 }
41 }
42 ]
43}
Bulk-Delete Resourcesยถ
HTTP Request
DELETE /api/v1/workspace/bulk
๐ Description: Deletes multiple resources by ID in a single request. Partial success: each deletion is attempted independently. If one or more deletions fail (e.g. due to state constraints), the successfully deleted items are NOT rolled back. A
ValidationExceptioncontaining per-item errors is thrown after all items have been attempted, so the caller must inspect the error list to determine which IDs were not deleted.
Parameters
Name |
In |
Type |
Required |
Description |
|---|---|---|---|---|
body |
body |
array[integer] |
true |
Request body containing an array of workspace identifiers to be deleted in bulk, ensuring efficient management of workspace resources. |
Body Parameters
1[
2 0
3]
Responses
Status |
Meaning |
Description |
Schema |
|---|---|---|---|
200 |
OK |
||
409 |
Payment amount exceeds remaining invoice balance |
||
502 |
Downstream service call failed |
Example Responses
1{
2 "code": "UPDATED",
3 "errors": {
4 "all": [
5 {
6 "type": "GENERIC",
7 "source": {},
8 "errorMessage": "string",
9 "field": "string",
10 "errorKey": "string"
11 }
12 ]
13 },
14 "object": {}
15}
Search Workspacesยถ
HTTP Request
POST /api/v1/workspace/search
๐ Description: Returns a paginated list of workspaces matching the given filter criteria, routed through the advanced-search adapter for consistent field mapping.
Parameters
Name |
In |
Type |
Required |
Description |
|---|---|---|---|---|
page |
query |
integer |
false |
Zero-based page index (0..N) |
size |
query |
integer |
false |
The size of the page to be returned |
sort |
query |
array[string] |
false |
Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. |
body |
body |
false |
Request body containing search criteria parameters to retrieve relevant workspace information based on user-defined filters. |
Default Valuesยถ
Parameter |
Default |
Type |
|---|---|---|
page |
|
query |
size |
|
query |
sort |
|
query |
Parameter Constraintsยถ
Parameter |
Constraints |
|---|---|
page |
Min: 0 |
size |
Min: 1 |
Body Parameters
1{
2 "idIn": [
3 0
4 ],
5 "idEqual": 0,
6 "idLike": "string",
7 "createdAtGreaterThanOrEqual": "2019-08-24T14:15:22Z",
8 "createdAtLessThanOrEqual": "2019-08-24T14:15:22Z",
9 "createdByLike": "string",
10 "createdByEqual": "string",
11 "modifiedAtGreaterThanOrEqual": "2019-08-24T14:15:22Z",
12 "modifiedAtLessThanOrEqual": "2019-08-24T14:15:22Z",
13 "modifiedByLike": "string",
14 "modifiedByEqual": "string",
15 "displayIdIn": [
16 "string"
17 ],
18 "displayIdLike": "string",
19 "nameLike": "string",
20 "stateEqual": "INV_DRAFT",
21 "stateIn": [
22 "INV_DRAFT"
23 ]
24}
Responses
Status |
Meaning |
Description |
Schema |
|---|---|---|---|
200 |
OK |
||
409 |
Payment amount exceeds remaining invoice balance |
||
502 |
Downstream service call failed |
Example Responses
1{
2 "totalPages": 0,
3 "totalElements": 0,
4 "pageable": {
5 "pageNumber": 0,
6 "unpaged": true,
7 "paged": true,
8 "pageSize": 0,
9 "offset": 0,
10 "sort": {
11 "unsorted": true,
12 "sorted": true,
13 "empty": true
14 }
15 },
16 "numberOfElements": 0,
17 "size": 0,
18 "content": [
19 {
20 "id": 0,
21 "displayId": "string",
22 "name": "string",
23 "state": "INV_DRAFT",
24 "postingDate": "2019-08-24",
25 "userDocumentDate": "2019-08-24",
26 "owner": {
27 "id": 0,
28 "accountId": 0,
29 "fullName": "string",
30 "firstName": "string",
31 "lastName": "string",
32 "username": "string",
33 "email": "string",
34 "accountName": "string",
35 "profile": "string"
36 },
37 "allowsSystemGenerateNewId": true,
38 "numberRangeIdentifierValue": "string",
39 "numberRangeIdentifierType": {
40 "name": "string"
41 },
42 "numberRangeType": {
43 "name": "string"
44 }
45 }
46 ],
47 "number": 0,
48 "sort": {
49 "unsorted": true,
50 "sorted": true,
51 "empty": true
52 },
53 "first": true,
54 "last": true,
55 "empty": true
56}
Advanced Workspace Searchยถ
HTTP Request
POST /api/v1/workspace/advanced-search
๐ Description: Full-text / multi-field search with faceting support. Prefer this over the basic search for programmatic queries. Returns a SearchResponseDto that includes total hits and facet buckets.
Parameters
Name |
In |
Type |
Required |
Description |
|---|---|---|---|---|
page |
query |
integer |
false |
Zero-based page index (0..N) |
size |
query |
integer |
false |
The size of the page to be returned |
sort |
query |
array[string] |
false |
Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. |
body |
body |
true |
Request body containing advanced search criteria and filters to refine workspace data retrieval based on user-defined parameters. |
Default Valuesยถ
Parameter |
Default |
Type |
|---|---|---|
page |
|
query |
size |
|
query |
sort |
|
query |
Parameter Constraintsยถ
Parameter |
Constraints |
|---|---|
page |
Min: 0 |
size |
Min: 1 |
Body Parameters
1{
2 "facets": [
3 "ID"
4 ],
5 "facetSelections": {
6 "property1": [
7 "string"
8 ],
9 "property2": [
10 "string"
11 ]
12 },
13 "aggregations": {
14 "property1": {
15 "type": "TERMS",
16 "field": "ID",
17 "size": 0,
18 "missing": "string"
19 },
20 "property2": {
21 "type": "TERMS",
22 "field": "ID",
23 "size": 0,
24 "missing": "string"
25 }
26 },
27 "filter": {
28 "operator": "AND",
29 "children": [
30 {}
31 ],
32 "field": "ID",
33 "comparison": "EQUAL",
34 "value": "string",
35 "values": [
36 "string"
37 ],
38 "from": "string",
39 "to": "string"
40 }
41}
Responses
Status |
Meaning |
Description |
Schema |
|---|---|---|---|
200 |
OK |
||
409 |
Payment amount exceeds remaining invoice balance |
||
502 |
Downstream service call failed |
Example Responses
1{
2 "results": [
3 {
4 "id": 0,
5 "displayId": "string",
6 "name": "string",
7 "state": "INV_DRAFT",
8 "postingDate": "2019-08-24",
9 "userDocumentDate": "2019-08-24",
10 "owner": {
11 "id": 0,
12 "accountId": 0,
13 "fullName": "string",
14 "firstName": "string",
15 "lastName": "string",
16 "username": "string",
17 "email": "string",
18 "accountName": "string",
19 "profile": "string"
20 },
21 "allowsSystemGenerateNewId": true,
22 "numberRangeIdentifierValue": "string",
23 "numberRangeIdentifierType": {
24 "name": "string"
25 },
26 "numberRangeType": {
27 "name": "string"
28 }
29 }
30 ],
31 "facets": {
32 "property1": {},
33 "property2": {}
34 },
35 "aggregations": {
36 "property1": {},
37 "property2": {}
38 },
39 "pagination": {
40 "number": 0,
41 "size": 0,
42 "totalElements": 0,
43 "totalPages": 0,
44 "first": true,
45 "last": true,
46 "empty": true,
47 "numberOfElements": 0
48 }
49}
List All Resourcesยถ
HTTP Request
GET /api/v1/workspace
๐ Description: Returns a paginated list of all accessible resources ordered by ID. Prefer POST /search for filtered queries.
Parameters
Name |
In |
Type |
Required |
Description |
|---|---|---|---|---|
pageable |
query |
true |
Indicates whether the results should be returned in a paginated format, facilitating efficient data retrieval for large datasets. |
Responses
Status |
Meaning |
Description |
Schema |
|---|---|---|---|
200 |
OK |
||
409 |
Payment amount exceeds remaining invoice balance |
||
502 |
Downstream service call failed |
Example Responses
1{
2 "totalPages": 0,
3 "totalElements": 0,
4 "pageable": {
5 "pageNumber": 0,
6 "unpaged": true,
7 "paged": true,
8 "pageSize": 0,
9 "offset": 0,
10 "sort": {
11 "unsorted": true,
12 "sorted": true,
13 "empty": true
14 }
15 },
16 "numberOfElements": 0,
17 "size": 0,
18 "content": [
19 {
20 "id": 0,
21 "displayId": "string",
22 "name": "string",
23 "state": "INV_DRAFT",
24 "postingDate": "2019-08-24",
25 "userDocumentDate": "2019-08-24",
26 "owner": {
27 "id": 0,
28 "accountId": 0,
29 "fullName": "string",
30 "firstName": "string",
31 "lastName": "string",
32 "username": "string",
33 "email": "string",
34 "accountName": "string",
35 "profile": "string"
36 },
37 "allowsSystemGenerateNewId": true,
38 "numberRangeIdentifierValue": "string",
39 "numberRangeIdentifierType": {
40 "name": "string"
41 },
42 "numberRangeType": {
43 "name": "string"
44 }
45 }
46 ],
47 "number": 0,
48 "sort": {
49 "unsorted": true,
50 "sorted": true,
51 "empty": true
52 },
53 "first": true,
54 "last": true,
55 "empty": true
56}
Not Supported โ Workspace Creation Via This Endpoint Is Disabledยถ
HTTP Request
POST /api/v1/workspace
๐ Description: Use PUT /{id}/invoices/add to add invoices; a workspace is auto-created if needed.
Parameters
Name |
In |
Type |
Required |
Description |
|---|---|---|---|---|
body |
body |
true |
Request body containing the workspace configuration details, including name, description, and access permissions for effective collaboration. |
Body Parameters
1{
2 "id": 0,
3 "displayId": "string",
4 "name": "string",
5 "state": "INV_DRAFT",
6 "postingDate": "2019-08-24",
7 "userDocumentDate": "2019-08-24",
8 "owner": {
9 "id": 0,
10 "accountId": 0,
11 "fullName": "string",
12 "firstName": "string",
13 "lastName": "string",
14 "username": "string",
15 "email": "string",
16 "accountName": "string",
17 "profile": "string"
18 },
19 "allowsSystemGenerateNewId": true,
20 "numberRangeIdentifierValue": "string",
21 "numberRangeIdentifierType": {
22 "name": "string"
23 },
24 "numberRangeType": {
25 "name": "string"
26 }
27}
Responses
Status |
Meaning |
Description |
Schema |
|---|---|---|---|
405 |
Method Not Allowed |
||
409 |
Payment amount exceeds remaining invoice balance |
||
502 |
Downstream service call failed |
Example Responses
1{
2 "code": "UPDATED",
3 "errors": {
4 "all": [
5 {
6 "type": "GENERIC",
7 "source": {},
8 "errorMessage": "string",
9 "field": "string",
10 "errorKey": "string"
11 }
12 ]
13 },
14 "object": {
15 "id": 0,
16 "displayId": "string",
17 "name": "string",
18 "state": "INV_DRAFT",
19 "postingDate": "2019-08-24",
20 "userDocumentDate": "2019-08-24",
21 "owner": {
22 "id": 0,
23 "accountId": 0,
24 "fullName": "string",
25 "firstName": "string",
26 "lastName": "string",
27 "username": "string",
28 "email": "string",
29 "accountName": "string",
30 "profile": "string"
31 },
32 "allowsSystemGenerateNewId": true,
33 "numberRangeIdentifierValue": "string",
34 "numberRangeIdentifierType": {
35 "name": "string"
36 },
37 "numberRangeType": {
38 "name": "string"
39 }
40 }
41}
Clear All Invoices From A Workspaceยถ
HTTP Request
PATCH /api/v1/workspace/{workspaceId}/clear
๐ Description: Removes all invoices from the workspace, leaving it empty and Open. The workspace itself is NOT deleted โ use the standard DELETE endpoint for that.
Parameters
Name |
In |
Type |
Required |
Description |
|---|---|---|---|---|
workspaceId |
path |
integer(int64) |
true |
Workspace ID |
Responses
Status |
Meaning |
Description |
Schema |
|---|---|---|---|
200 |
Workspace cleared; returns the updated workspace |
||
409 |
Payment amount exceeds remaining invoice balance |
||
502 |
Downstream service call failed |
Example Responses
1{
2 "code": "UPDATED",
3 "errors": {
4 "all": [
5 {
6 "type": "GENERIC",
7 "source": {},
8 "errorMessage": "string",
9 "field": "string",
10 "errorKey": "string"
11 }
12 ]
13 },
14 "object": {
15 "id": 0,
16 "displayId": "string",
17 "name": "string",
18 "state": "INV_DRAFT",
19 "postingDate": "2019-08-24",
20 "userDocumentDate": "2019-08-24",
21 "owner": {
22 "id": 0,
23 "accountId": 0,
24 "fullName": "string",
25 "firstName": "string",
26 "lastName": "string",
27 "username": "string",
28 "email": "string",
29 "accountName": "string",
30 "profile": "string"
31 },
32 "allowsSystemGenerateNewId": true,
33 "numberRangeIdentifierValue": "string",
34 "numberRangeIdentifierType": {
35 "name": "string"
36 },
37 "numberRangeType": {
38 "name": "string"
39 }
40 }
41}
Get Workflow State History For A Workspaceยถ
HTTP Request
GET /api/v1/workspace/{workspaceId}/state-history
๐ Description: Returns the ordered list of state transitions the workspace has gone through, each with timestamp and actor information.
Parameters
Name |
In |
Type |
Required |
Description |
|---|---|---|---|---|
workspaceId |
path |
integer(int64) |
true |
Unique identifier for the workspace |
Responses
Status |
Meaning |
Description |
Schema |
|---|---|---|---|
200 |
OK |
Inline |
|
409 |
Payment amount exceeds remaining invoice balance |
||
502 |
Downstream service call failed |
Example Responses
1[
2 {
3 "id": 0,
4 "success": true,
5 "failedMessage": "string",
6 "warningMessage": "string",
7 "fromState": "string",
8 "event": "string",
9 "comment": "string",
10 "workspaceId": 0
11 }
12]
Response Schema
Status Code 200
Name |
Type |
Required |
Restrictions |
Description |
|---|---|---|---|---|
anonymous |
false |
none |
[Data transfer object representing the historical state of a workspace, capturing key changes and metadata to facilitate effective workspace management and analysis.] |
|
ยป id |
integer(int64) |
false |
none |
Unique identifier for the resource |
ยป success |
boolean |
false |
none |
Indicates whether the operation was successful, providing insight into the outcome of the workspace state change. |
ยป failedMessage |
string |
false |
none |
Message detailing the reason for the failure of a workspace state transition, providing insights for troubleshooting and resolution. |
ยป warningMessage |
string |
false |
none |
Message indicating any warnings related to the state history of the workspace, providing insights for effective workspace management. |
ยป fromState |
string |
false |
none |
Represents the initial state of the workspace in the history of state transitions, providing insight into the workspaceโs operational changes over time. |
ยป event |
string |
false |
none |
Represents the specific event that occurred within the workspace, providing context for changes in the workspace state history. |
ยป comment |
string |
false |
none |
Textual feedback or notes associated with changes in the workspace state history, providing context for decision-making and collaboration. |
ยป workspaceId |
integer(int64) |
false |
none |
Unique identifier for the workspace |
Remove A Single Invoice From A Workspaceยถ
HTTP Request
DELETE /api/v1/workspace/{workspaceId}/invoices/{invoiceId}
๐ Description: Detaches the specified invoice from the workspace. The invoice reverts to Approved state and becomes eligible for other workspaces.
Parameters
Name |
In |
Type |
Required |
Description |
|---|---|---|---|---|
workspaceId |
path |
integer(int64) |
true |
Workspace ID |
invoiceId |
path |
integer(int64) |
true |
Invoice ID to remove |
Responses
Status |
Meaning |
Description |
Schema |
|---|---|---|---|
200 |
OK |
None |
|
409 |
Payment amount exceeds remaining invoice balance |
||
502 |
Downstream service call failed |
Example Responses
1{
2 "errorCode": "string",
3 "balances": [
4 {
5 "id": 0,
6 "displayId": "string",
7 "invoiceId": 0,
8 "invoiceDisplayId": "string",
9 "invoiceLineItemId": 0,
10 "invoiceLineItemDisplayId": "string",
11 "invoiceLineItemDescription": "string",
12 "expenseCategory": {
13 "id": 0,
14 "displayId": "string",
15 "name": "string"
16 },
17 "totalNetAmount": 0,
18 "totalTaxAmount": 0,
19 "reservedNetAmount": 0,
20 "reservedTaxAmount": 0,
21 "remainingTotalAmount": 0,
22 "remainingNetAmount": 0,
23 "remainingTaxAmount": 0,
24 "allowsSystemGenerateNewId": true,
25 "numberRangeIdentifierValue": "string",
26 "numberRangeIdentifierType": {
27 "name": "string"
28 },
29 "numberRangeType": {
30 "name": "string"
31 }
32 }
33 ]
34}
Bulk-Remove Invoices From A Workspaceยถ
HTTP Request
DELETE /api/v1/workspace/{workspaceId}/invoices
๐ Description: Detaches multiple invoices from the workspace in one call. Each removed invoice reverts to Approved state.
Parameters
Name |
In |
Type |
Required |
Description |
|---|---|---|---|---|
workspaceId |
path |
integer(int64) |
true |
Workspace ID |
body |
body |
array[integer] |
true |
Request body containing the identifiers of invoices to be deleted from the specified workspace, ensuring accurate invoice management and compliance. |
Body Parameters
1[
2 0
3]
Responses
Status |
Meaning |
Description |
Schema |
|---|---|---|---|
200 |
OK |
None |
|
409 |
Payment amount exceeds remaining invoice balance |
||
502 |
Downstream service call failed |
Example Responses
1{
2 "errorCode": "string",
3 "balances": [
4 {
5 "id": 0,
6 "displayId": "string",
7 "invoiceId": 0,
8 "invoiceDisplayId": "string",
9 "invoiceLineItemId": 0,
10 "invoiceLineItemDisplayId": "string",
11 "invoiceLineItemDescription": "string",
12 "expenseCategory": {
13 "id": 0,
14 "displayId": "string",
15 "name": "string"
16 },
17 "totalNetAmount": 0,
18 "totalTaxAmount": 0,
19 "reservedNetAmount": 0,
20 "reservedTaxAmount": 0,
21 "remainingTotalAmount": 0,
22 "remainingNetAmount": 0,
23 "remainingTaxAmount": 0,
24 "allowsSystemGenerateNewId": true,
25 "numberRangeIdentifierValue": "string",
26 "numberRangeIdentifierType": {
27 "name": "string"
28 },
29 "numberRangeType": {
30 "name": "string"
31 }
32 }
33 ]
34}