Bulk Operations 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:

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