Bulk Operations via API

How to manage Fynapse configurations via API

Overview

Bulk operations allow you to manage Fynapse configuration. With these endpoints you can upload and download an entire Fynapse configuration in the form of Configuration Data JSON structure, or wipe the system.

To learn about the structure of the Configuration Data JSON refer to Configuration Data.

Managing Fynapse Configuration Using REST API

Process Diagram

The diagram below illustrates the flow of API calls during bulk operations:

BulkOperationsAPI.drawio

Example

This example refers to numbered steps on the diagram above.

Downloading Fynapse Configuration

You can download the configuration of your Fynapse (1) instance by using the Get the Fynapse configuration endpoint. You will receive the configuration in the form of Configuration Data in JSON structure:

Response
1{
2 "configuration": {
3 "accountLookups": [
4 {
5 "accountLookupPatterns": [
6 {
7 "account": "111"
8 }
9 ],
10 "postingCode": "test posting code CR"
11 },
12 {
13 "accountLookupPatterns": [
14 {
15 "account": "222"
16 }
17 ],
18 "postingCode": "test posting code DR"
19 }
20 ],
21 "accountingConfigurations": [
22 {
23 "businessCalendarName": "Test Business Calendar",
24 "description": "IFRS description",
25 "dimensionSetName": "Test Dimension Set",
26 "fiscalCalendarName": "Test Fiscal Calendar",
27 "name": "IFRS"
28 }
29 ],
30 "businessCalendars": [
31 {
32 "effectiveFrom": "1900-01-01",
33 "effectiveTo": "2099-12-31",
34 "name": "Test Business Calendar",
35 "status": "ACTIVE"
36 }
37 ],
38 "businessDateSettings": {
39 "businessDateShift": 0
40 },
41 "businessEventDefinition": {
42 "active": true,
43 "attributes": [
44 {
45 "label": "Event Type Label",
46 "name": "eventTypeName",
47 "role": "event_type",
48 "source": "input",
49 "type": "text"
50 },
51 {
52 "label": "Effective Date Label",
53 "name": "effectiveDateName",
54 "role": "effective_date",
55 "source": "input",
56 "type": "date"
57 },
58 {
59 "label": "Amount Type Label",
60 "name": "transactionAmountName",
61 "role": "attribute",
62 "source": "input",
63 "type": "decimal"
64 },
65 {
66 "label": "Currency Label",
67 "name": "transactionCurrencyName",
68 "role": "attribute",
69 "source": "input",
70 "type": "text"
71 },
72 {
73 "label": "Custom Subledger Node Label",
74 "name": "customSubledgerNodeName",
75 "role": "node",
76 "source": "input",
77 "type": "text"
78 }
79 ],
80 "effectiveFrom": "2023-04-05"
81 },
82 "businessEventTypes": [
83 {
84 "description": "IRSTRADE description",
85 "name": "IRSTRADE"
86 },
87 {
88 "description": "IRSTRADE_REV description",
89 "name": "IRSTRADE_REV"
90 }
91 ],
92 "dimensionSets": [
93 {
94 "attributes": [
95 "customAccountingConfig",
96 "customAccount",
97 "customTransactionCurrency",
98 "customSubledgerNodeName"
99 ],
100 "description": "Test Dimension Set description",
101 "name": "Test Dimension Set"
102 }
103 ],
104 "entities": [
105 {
106 "attributes": [
107 {
108 "label": "Event Type Label",
109 "mandatory": true,
110 "name": "EventTypeName",
111 "source": "input",
112 "type": {
113 "typeName": "ListType"
114 }
115 },
116 {
117 "label": "Effective Date Label",
118 "mandatory": true,
119 "name": "effectiveDateName",
120 "source": "input",
121 "type": {
122 "typeName": "ListType"
123 }
124 },
125 {
126 "label": "Amount Type Label",
127 "mandatory": true,
128 "name": "transactionAmountName",
129 "source": "input",
130 "type": {
131 "typeName": "ListType"
132 }
133 },
134 {
135 "label": "Currency Label",
136 "mandatory": true,
137 "name": "transactionCurrencyName",
138 "source": "input",
139 "type": {
140 "typeName": "ListType"
141 }
142 },
143 {
144 "label": "Custom Subledger Node Label",
145 "mandatory": true,
146 "name": "customSubledgerNodeName",
147 "source": "input",
148 "type": {
149 "typeName": "ListType"
150 }
151 }
152 ],
153 "description": "Transaction Entity For Flow",
154 "name": "TransactionEntityForFlow",
155 "namespace": "fynapse",
156 "temporalityType": "Transaction",
157 "type": "DefinedEntity"
158 }
159 ],
160 "featureFlags": {
161 "posting-date-override": false,
162 "flow-assistant": true,
163 "extracts-in-bulk": false,
164 "flow": true
165 },
166 "fiscalCalendars": [
167 {
168 "type": "gregorian",
169 "active": true,
170 "effectiveFrom": "2024-12-23",
171 "endOfFirstYear": "2019-12-31",
172 "name": "Test Fiscal Calendar",
173 "startYear": 2019
174 }
175 ],
176 "flows": [
177 {
178 "graph": {
179 "edges": {
180 "6ace1605-e6dc-46e9-a237-32a334ce09d9": [
181 "1b2670bc-b718-4f4d-873c-92d535a479fd"
182 ],
183 "8e7789cc-03ef-4aa3-9c2d-6b5143b4727b": [
184 "6ace1605-e6dc-46e9-a237-32a334ce09d9"
185 ],
186 "8f62cb96-a738-4a2b-a427-83043837019a": [
187 "8e7789cc-03ef-4aa3-9c2d-6b5143b4727b"
188 ]
189 },
190 "nodes": {
191 "8e7789cc-03ef-4aa3-9c2d-6b5143b4727b": {
192 "x": 300,
193 "y": 120,
194 "step": {
195 "type": "Script",
196 "name": "Script",
197 "script": "from decimal import Decimal\r\ninput.transactionAmountName += Decimal('20.000')\r\ncurrencyLabel = \"PLN\"\r\npublish(\"CurrencyLabel\", currencyLabel)",
198 "outputDefinition": [
199 {
200 "name": "CurrencyLabel",
201 "type": {
202 "type": "Primitive",
203 "primitive": "TEXT"
204 }
205 }
206 ]
207 }
208 },
209 "8f62cb96-a738-4a2b-a427-83043837019a": {
210 "x": 0,
211 "y": 120,
212 "step": {
213 "type": "Input",
214 "name": "Input",
215 "source": {
216 "namespace": "fynapse",
217 "name": "TransactionEntityForFlow"
218 }
219 }
220 },
221 "1b2670bc-b718-4f4d-873c-92d535a479fd": {
222 "x": 915,
223 "y": 120,
224 "step": {
225 "type": "JournalProcessor",
226 "name": "JournalProcessor"
227 }
228 },
229 "6ace1605-e6dc-46e9-a237-32a334ce09d9": {
230 "x": 615,
231 "y": 120,
232 "step": {
233 "type": "AccountingEngine",
234 "name": "AccountingEngine",
235 "mapping": [
236 {
237 "source": {
238 "group": "INPUT",
239 "path": []
240 },
241 "target": {
242 "path": []
243 },
244 "contextMapping": true
245 },
246 {
247 "source": {
248 "group": "INPUT",
249 "path": [
250 "EventTypeName"
251 ]
252 },
253 "target": {
254 "path": [
255 "eventTypeName"
256 ]
257 },
258 "contextMapping": false
259 },
260 {
261 "source": {
262 "group": "INPUT",
263 "path": [
264 "effectiveDateName"
265 ]
266 },
267 "target": {
268 "path": [
269 "effectiveDateName"
270 ]
271 },
272 "contextMapping": false
273 },
274 {
275 "source": {
276 "group": "INPUT",
277 "path": [
278 "transactionAmountName"
279 ]
280 },
281 "target": {
282 "path": [
283 "transactionAmountName"
284 ]
285 },
286 "contextMapping": false
287 },
288 {
289 "source": {
290 "group": "SCRIPT",
291 "path": [
292 "CurrencyLabel"
293 ]
294 },
295 "target": {
296 "path": [
297 "transactionCurrencyName"
298 ]
299 },
300 "contextMapping": false
301 },
302 {
303 "source": {
304 "group": "INPUT",
305 "path": [
306 "customSubledgerNodeName"
307 ]
308 },
309 "target": {
310 "path": [
311 "customSubledgerNodeName"
312 ]
313 },
314 "contextMapping": false
315 }
316 ]
317 }
318 }
319 }
320 },
321 "name": "Flow",
322 "versionStatus": "Published"
323 }
324 ],
325 "journalDefinition": {
326 "active": true,
327 "effectiveFrom": "2023-04-05",
328 "fields": [
329 {
330 "label": "Custom Core Date Label",
331 "name": "customCoreDate",
332 "role": "coreDate",
333 "source": "input",
334 "type": "date"
335 },
336 {
337 "label": "Custom Journal Type Label",
338 "name": "customJournalType",
339 "role": "journalType",
340 "source": "input",
341 "type": "text"
342 },
343 {
344 "label": "Custom Accounting Config Label",
345 "name": "customAccountingConfig",
346 "role": "accountingConfig",
347 "source": "input",
348 "type": "text"
349 },
350 {
351 "label": "Custom Account Label",
352 "name": "customAccount",
353 "role": "account",
354 "source": "input",
355 "type": "text"
356 },
357 {
358 "label": "Custom Transaction Amount Label",
359 "name": "customTransactionAmount",
360 "role": "transactionAmount",
361 "source": "input",
362 "type": "amount"
363 },
364 {
365 "label": "Custom Transaction Currency Label",
366 "name": "customTransactionCurrency",
367 "role": "transactionCurrency",
368 "source": "input",
369 "type": "text"
370 },
371 {
372 "label": "Custom Journal Id Label",
373 "name": "customJournalId",
374 "role": "journalId",
375 "source": "input",
376 "type": "uuid"
377 },
378 {
379 "label": "Custom Journal Line Id Label",
380 "name": "customJournalLineId",
381 "role": "lineId",
382 "source": "input",
383 "type": "uuid"
384 },
385 {
386 "label": "Custom Reverses Label",
387 "name": "customReverses",
388 "role": "reverses",
389 "source": "input",
390 "type": "uuid"
391 },
392 {
393 "label": "Custom Reversed by Label",
394 "name": "customReversedBy",
395 "role": "reversedBy",
396 "source": "input",
397 "type": "uuid"
398 },
399 {
400 "label": "Custom Journal Line No",
401 "name": "customJournalLineNo",
402 "role": "journalLineNo",
403 "source": "input",
404 "type": "integer"
405 },
406 {
407 "label": "Custom Ingestion Id Label",
408 "name": "customIngestionId",
409 "role": "ingestionId",
410 "source": "input",
411 "type": "text"
412 },
413 {
414 "label": "Custom Origin Journal Id",
415 "name": "customOriginJournalId",
416 "role": "originJournalId",
417 "source": "input",
418 "type": "text"
419 },
420 {
421 "label": "Custom Origin Journal Line Id",
422 "name": "customOriginJournalLineId",
423 "role": "originJournalLineId",
424 "source": "input",
425 "type": "text"
426 },
427 {
428 "label": "Custom Subledger Node Label",
429 "name": "customSubledgerNodeName",
430 "role": "node",
431 "source": "input",
432 "type": "text"
433 }
434 ],
435 "primaryKeys": [
436 "customJournalId",
437 "customJournalLineId"
438 ]
439 },
440 "journalTypes": [
441 {
442 "behavior": "PERMANENT",
443 "code": "Test Permanent Journal Type",
444 "description": "Test Permanent Journal Type description"
445 },
446 {
447 "behavior": "REVERSING",
448 "code": "Test Reversal Journal Type",
449 "description": "Reversing Next day description",
450 "reversingDate": "NEXT_DAY"
451 }
452 ],
453 "nodeValues": [
454 {
455 "fieldName": "customSubledgerNodeName",
456 "values": [
457 "Custom Subledger Node Label element 1",
458 "Custom Subledger Node Label element 2"
459 ]
460 }
461 ],
462 "nodes": [
463 {
464 "fields": {
465 "customSubledgerNodeName": "Custom Subledger Node Label element 1"
466 },
467 "nodeConfigs": [
468 {
469 "accountingConfigName": "IFRS",
470 "graceDays": 0,
471 "graceHours": 0,
472 "overridePostingDate": "none"
473 }
474 ],
475 "timeZone": "Europe/Warsaw"
476 }
477 ],
478 "postingComponentIdentifications": [
479 {
480 "businessEventTypeName": "IRSTRADE",
481 "postingComponents": [
482 {
483 "postingComponentCode": "PLFEES"
484 }
485 ]
486 },
487 {
488 "businessEventTypeName": "IRSTRADE_REV",
489 "postingComponents": [
490 {
491 "postingComponentCode": "Reversing posting component name"
492 }
493 ]
494 }
495 ],
496 "postingComponents": [
497 {
498 "accountingConfigName": "IFRS",
499 "code": "PLFEES",
500 "description": "PLFEES description",
501 "journalType": "Test Permanent Journal Type",
502 "postingPatterns": [
503 {
504 "amountField": "transactionAmountName",
505 "amountSignage": "AUTO",
506 "currencyField": "transactionCurrencyName",
507 "debitCredit": "CR",
508 "postingCode": "test posting code CR",
509 "postingDateField": "effectiveDateName"
510 },
511 {
512 "amountField": "transactionAmountName",
513 "amountSignage": "AUTO",
514 "currencyField": "transactionCurrencyName",
515 "debitCredit": "DR",
516 "postingCode": "test posting code DR",
517 "postingDateField": "effectiveDateName"
518 }
519 ]
520 },
521 {
522 "accountingConfigName": "IFRS",
523 "code": "Reversing posting component name",
524 "description": "Reversing posting component description",
525 "journalType": "Test Reversal Journal Type",
526 "postingPatterns": [
527 {
528 "amountField": "transactionAmountName",
529 "amountSignage": "AUTO",
530 "currencyField": "transactionCurrencyName",
531 "debitCredit": "CR",
532 "postingCode": "test posting code CR",
533 "postingDateField": "effectiveDateName"
534 },
535 {
536 "amountField": "transactionAmountName",
537 "amountSignage": "AUTO",
538 "currencyField": "transactionCurrencyName",
539 "debitCredit": "DR",
540 "postingCode": "test posting code DR",
541 "postingDateField": "effectiveDateName"
542 }
543 ]
544 }
545 ]
546 },
547 "downloadTime": {
548 "nanos": 1,
549 "seconds": 1
550 },
551 "downloadedBy": "john.doe@aptitudesoftware.com",
552 "version": "v20230211"
553}

Uploading Fynapse Configuration

You can upload a Fynapse configuration (2) using the Upload a new Fynapse configuration endpoint. The payload has to be defined in the structure of the Configuration Data JSON file.

PUT
/api/v1/configuration/bulk
1curl -X PUT https://api.fynapse.com/api/v1/configuration/bulk \
2 -H "Authorization: Bearer <token>" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "configuration": {
6 "accountLookups": [
7 {
8 "accountLookupPatterns": [
9 {
10 "account": "111"
11 }
12 ],
13 "postingCode": "test posting code CR"
14 },
15 {
16 "accountLookupPatterns": [
17 {
18 "account": "222"
19 }
20 ],
21 "postingCode": "test posting code DR"
22 }
23 ],
24 "accountingConfigurations": [
25 {
26 "businessCalendarName": "Test Business Calendar",
27 "description": "IFRS description",
28 "dimensionSetName": "Test Dimension Set",
29 "fiscalCalendarName": "Test Fiscal Calendar",
30 "name": "IFRS"
31 }
32 ],
33 "businessCalendars": [
34 {
35 "effectiveFrom": "1900-01-01",
36 "effectiveTo": "2099-12-31",
37 "name": "Test Business Calendar",
38 "status": "ACTIVE"
39 }
40 ],
41 "businessDateSettings": {
42 "businessDateShift": 0
43 },
44 "businessEventDefinition": {
45 "active": true,
46 "attributes": [
47 {
48 "label": "Event Type Label",
49 "name": "eventTypeName",
50 "role": "event_type",
51 "source": "input",
52 "type": "text"
53 },
54 {
55 "label": "Effective Date Label",
56 "name": "effectiveDateName",
57 "role": "effective_date",
58 "source": "input",
59 "type": "date"
60 },
61 {
62 "label": "Amount Type Label",
63 "name": "transactionAmountName",
64 "role": "attribute",
65 "source": "input",
66 "type": "decimal"
67 },
68 {
69 "label": "Currency Label",
70 "name": "transactionCurrencyName",
71 "role": "attribute",
72 "source": "input",
73 "type": "text"
74 },
75 {
76 "label": "Custom Subledger Node Label",
77 "name": "customSubledgerNodeName",
78 "role": "node",
79 "source": "input",
80 "type": "text"
81 }
82 ],
83 "effectiveFrom": "2023-04-05"
84 },
85 "businessEventTypes": [
86 {
87 "description": "IRSTRADE description",
88 "name": "IRSTRADE"
89 },
90 {
91 "description": "IRSTRADE_REV description",
92 "name": "IRSTRADE_REV"
93 }
94 ],
95 "dimensionSets": [
96 {
97 "attributes": [
98 "customAccountingConfig",
99 "customAccount",
100 "customTransactionCurrency",
101 "customSubledgerNodeName"
102 ],
103 "description": "Test Dimension Set description",
104 "name": "Test Dimension Set"
105 }
106 ],
107 "entities": [
108 {
109 "attributes": [
110 {
111 "label": "Event Type Label",
112 "mandatory": true,
113 "name": "EventTypeName",
114 "source": "input",
115 "type": {
116 "typeName": "ListType"
117 }
118 },
119 {
120 "label": "Effective Date Label",
121 "mandatory": true,
122 "name": "effectiveDateName",
123 "source": "input",
124 "type": {
125 "typeName": "ListType"
126 }
127 },
128 {
129 "label": "Amount Type Label",
130 "mandatory": true,
131 "name": "transactionAmountName",
132 "source": "input",
133 "type": {
134 "typeName": "ListType"
135 }
136 },
137 {
138 "label": "Currency Label",
139 "mandatory": true,
140 "name": "transactionCurrencyName",
141 "source": "input",
142 "type": {
143 "typeName": "ListType"
144 }
145 },
146 {
147 "label": "Custom Subledger Node Label",
148 "mandatory": true,
149 "name": "customSubledgerNodeName",
150 "source": "input",
151 "type": {
152 "typeName": "ListType"
153 }
154 }
155 ],
156 "description": "Transaction Entity For Flow",
157 "name": "TransactionEntityForFlow",
158 "namespace": "fynapse",
159 "temporalityType": "Transaction",
160 "type": "DefinedEntity"
161 }
162 ],
163 "featureFlags": {
164 "posting-date-override": false,
165 "flow-assistant": true,
166 "extracts-in-bulk": false,
167 "flow": true
168 },
169 "fiscalCalendars": [
170 {
171 "type": "gregorian",
172 "active": true,
173 "effectiveFrom": "2024-12-23",
174 "endOfFirstYear": "2019-12-31",
175 "name": "Test Fiscal Calendar",
176 "startYear": 2019
177 }
178 ],
179 "flows": [
180 {
181 "graph": {
182 "edges": {
183 "6ace1605-e6dc-46e9-a237-32a334ce09d9": [
184 "1b2670bc-b718-4f4d-873c-92d535a479fd"
185 ],
186 "8e7789cc-03ef-4aa3-9c2d-6b5143b4727b": [
187 "6ace1605-e6dc-46e9-a237-32a334ce09d9"
188 ],
189 "8f62cb96-a738-4a2b-a427-83043837019a": [
190 "8e7789cc-03ef-4aa3-9c2d-6b5143b4727b"
191 ]
192 },
193 "nodes": {
194 "8e7789cc-03ef-4aa3-9c2d-6b5143b4727b": {
195 "x": 300,
196 "y": 120,
197 "step": {
198 "type": "Script",
199 "name": "Script",
200 "script": "from decimal import Decimal\r\ninput.transactionAmountName += Decimal(\'20.000\')\r\ncurrencyLabel = \"PLN\"\r\npublish(\"CurrencyLabel\", currencyLabel)",
201 "outputDefinition": [
202 {
203 "name": "CurrencyLabel",
204 "type": {
205 "type": "Primitive",
206 "primitive": "TEXT"
207 }
208 }
209 ]
210 }
211 },
212 "8f62cb96-a738-4a2b-a427-83043837019a": {
213 "x": 0,
214 "y": 120,
215 "step": {
216 "type": "Input",
217 "name": "Input",
218 "source": {
219 "namespace": "fynapse",
220 "name": "TransactionEntityForFlow"
221 }
222 }
223 },
224 "1b2670bc-b718-4f4d-873c-92d535a479fd": {
225 "x": 915,
226 "y": 120,
227 "step": {
228 "type": "JournalProcessor",
229 "name": "JournalProcessor"
230 }
231 },
232 "6ace1605-e6dc-46e9-a237-32a334ce09d9": {
233 "x": 615,
234 "y": 120,
235 "step": {
236 "type": "AccountingEngine",
237 "name": "AccountingEngine",
238 "mapping": [
239 {
240 "source": {
241 "group": "INPUT",
242 "path": []
243 },
244 "target": {
245 "path": []
246 },
247 "contextMapping": true
248 },
249 {
250 "source": {
251 "group": "INPUT",
252 "path": [
253 "EventTypeName"
254 ]
255 },
256 "target": {
257 "path": [
258 "eventTypeName"
259 ]
260 },
261 "contextMapping": false
262 },
263 {
264 "source": {
265 "group": "INPUT",
266 "path": [
267 "effectiveDateName"
268 ]
269 },
270 "target": {
271 "path": [
272 "effectiveDateName"
273 ]
274 },
275 "contextMapping": false
276 },
277 {
278 "source": {
279 "group": "INPUT",
280 "path": [
281 "transactionAmountName"
282 ]
283 },
284 "target": {
285 "path": [
286 "transactionAmountName"
287 ]
288 },
289 "contextMapping": false
290 },
291 {
292 "source": {
293 "group": "SCRIPT",
294 "path": [
295 "CurrencyLabel"
296 ]
297 },
298 "target": {
299 "path": [
300 "transactionCurrencyName"
301 ]
302 },
303 "contextMapping": false
304 },
305 {
306 "source": {
307 "group": "INPUT",
308 "path": [
309 "customSubledgerNodeName"
310 ]
311 },
312 "target": {
313 "path": [
314 "customSubledgerNodeName"
315 ]
316 },
317 "contextMapping": false
318 }
319 ]
320 }
321 }
322 }
323 },
324 "name": "Flow",
325 "versionStatus": "Published"
326 }
327 ],
328 "journalDefinition": {
329 "active": true,
330 "effectiveFrom": "2023-04-05",
331 "fields": [
332 {
333 "label": "Custom Core Date Label",
334 "name": "customCoreDate",
335 "role": "coreDate",
336 "source": "input",
337 "type": "date"
338 },
339 {
340 "label": "Custom Journal Type Label",
341 "name": "customJournalType",
342 "role": "journalType",
343 "source": "input",
344 "type": "text"
345 },
346 {
347 "label": "Custom Accounting Config Label",
348 "name": "customAccountingConfig",
349 "role": "accountingConfig",
350 "source": "input",
351 "type": "text"
352 },
353 {
354 "label": "Custom Account Label",
355 "name": "customAccount",
356 "role": "account",
357 "source": "input",
358 "type": "text"
359 },
360 {
361 "label": "Custom Transaction Amount Label",
362 "name": "customTransactionAmount",
363 "role": "transactionAmount",
364 "source": "input",
365 "type": "amount"
366 },
367 {
368 "label": "Custom Transaction Currency Label",
369 "name": "customTransactionCurrency",
370 "role": "transactionCurrency",
371 "source": "input",
372 "type": "text"
373 },
374 {
375 "label": "Custom Journal Id Label",
376 "name": "customJournalId",
377 "role": "journalId",
378 "source": "input",
379 "type": "uuid"
380 },
381 {
382 "label": "Custom Journal Line Id Label",
383 "name": "customJournalLineId",
384 "role": "lineId",
385 "source": "input",
386 "type": "uuid"
387 },
388 {
389 "label": "Custom Reverses Label",
390 "name": "customReverses",
391 "role": "reverses",
392 "source": "input",
393 "type": "uuid"
394 },
395 {
396 "label": "Custom Reversed by Label",
397 "name": "customReversedBy",
398 "role": "reversedBy",
399 "source": "input",
400 "type": "uuid"
401 },
402 {
403 "label": "Custom Journal Line No",
404 "name": "customJournalLineNo",
405 "role": "journalLineNo",
406 "source": "input",
407 "type": "integer"
408 },
409 {
410 "label": "Custom Ingestion Id Label",
411 "name": "customIngestionId",
412 "role": "ingestionId",
413 "source": "input",
414 "type": "text"
415 },
416 {
417 "label": "Custom Origin Journal Id",
418 "name": "customOriginJournalId",
419 "role": "originJournalId",
420 "source": "input",
421 "type": "text"
422 },
423 {
424 "label": "Custom Origin Journal Line Id",
425 "name": "customOriginJournalLineId",
426 "role": "originJournalLineId",
427 "source": "input",
428 "type": "text"
429 },
430 {
431 "label": "Custom Subledger Node Label",
432 "name": "customSubledgerNodeName",
433 "role": "node",
434 "source": "input",
435 "type": "text"
436 }
437 ],
438 "primaryKeys": [
439 "customJournalId",
440 "customJournalLineId"
441 ]
442 },
443 "journalTypes": [
444 {
445 "behavior": "PERMANENT",
446 "code": "Test Permanent Journal Type",
447 "description": "Test Permanent Journal Type description"
448 },
449 {
450 "behavior": "REVERSING",
451 "code": "Test Reversal Journal Type",
452 "description": "Reversing Next day description",
453 "reversingDate": "NEXT_DAY"
454 }
455 ],
456 "nodeValues": [
457 {
458 "fieldName": "customSubledgerNodeName",
459 "values": [
460 "Custom Subledger Node Label element 1",
461 "Custom Subledger Node Label element 2"
462 ]
463 }
464 ],
465 "nodes": [
466 {
467 "fields": {
468 "customSubledgerNodeName": "Custom Subledger Node Label element 1"
469 },
470 "nodeConfigs": [
471 {
472 "accountingConfigName": "IFRS",
473 "graceDays": 0,
474 "graceHours": 0,
475 "overridePostingDate": "none"
476 }
477 ],
478 "timeZone": "Europe/Warsaw"
479 }
480 ],
481 "postingComponentIdentifications": [
482 {
483 "businessEventTypeName": "IRSTRADE",
484 "postingComponents": [
485 {
486 "postingComponentCode": "PLFEES"
487 }
488 ]
489 },
490 {
491 "businessEventTypeName": "IRSTRADE_REV",
492 "postingComponents": [
493 {
494 "postingComponentCode": "Reversing posting component name"
495 }
496 ]
497 }
498 ],
499 "postingComponents": [
500 {
501 "accountingConfigName": "IFRS",
502 "code": "PLFEES",
503 "description": "PLFEES description",
504 "journalType": "Test Permanent Journal Type",
505 "postingPatterns": [
506 {
507 "amountField": "transactionAmountName",
508 "amountSignage": "AUTO",
509 "currencyField": "transactionCurrencyName",
510 "debitCredit": "CR",
511 "postingCode": "test posting code CR",
512 "postingDateField": "effectiveDateName"
513 },
514 {
515 "amountField": "transactionAmountName",
516 "amountSignage": "AUTO",
517 "currencyField": "transactionCurrencyName",
518 "debitCredit": "DR",
519 "postingCode": "test posting code DR",
520 "postingDateField": "effectiveDateName"
521 }
522 ]
523 },
524 {
525 "accountingConfigName": "IFRS",
526 "code": "Reversing posting component name",
527 "description": "Reversing posting component description",
528 "journalType": "Test Reversal Journal Type",
529 "postingPatterns": [
530 {
531 "amountField": "transactionAmountName",
532 "amountSignage": "AUTO",
533 "currencyField": "transactionCurrencyName",
534 "debitCredit": "CR",
535 "postingCode": "test posting code CR",
536 "postingDateField": "effectiveDateName"
537 },
538 {
539 "amountField": "transactionAmountName",
540 "amountSignage": "AUTO",
541 "currencyField": "transactionCurrencyName",
542 "debitCredit": "DR",
543 "postingCode": "test posting code DR",
544 "postingDateField": "effectiveDateName"
545 }
546 ]
547 }
548 ]
549 },
550 "downloadTime": {
551 "nanos": 1,
552 "seconds": 1
553 },
554 "downloadedBy": "john.doe@aptitudesoftware.com",
555 "version": "v20230211"
556}'

Deleting Fynapse Configuration

You can delete your Fynapse configuration (3) using the Delete Fynapse configuration endpoint.

DELETE
/api/v1/configuration/bulk
1curl -X DELETE https://api.fynapse.com/api/v1/configuration/bulk \
2 -H "Authorization: Bearer <token>"

Remember, this endpoint will delete the entire configuration and wipe the processing data.