xero-ruby 3.9.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/lib/xero-ruby/api/accounting_api.rb +1136 -46
  4. data/lib/xero-ruby/api/app_store_api.rb +244 -0
  5. data/lib/xero-ruby/api/asset_api.rb +16 -6
  6. data/lib/xero-ruby/api/files_api.rb +156 -20
  7. data/lib/xero-ruby/api/payroll_au_api.rb +326 -30
  8. data/lib/xero-ruby/api/payroll_nz_api.rb +87 -0
  9. data/lib/xero-ruby/api/payroll_uk_api.rb +81 -0
  10. data/lib/xero-ruby/api/project_api.rb +286 -2
  11. data/lib/xero-ruby/api_client.rb +9 -3
  12. data/lib/xero-ruby/models/accounting/account.rb +1 -1
  13. data/lib/xero-ruby/models/accounting/account_type.rb +0 -4
  14. data/lib/xero-ruby/models/accounting/allocation.rb +21 -1
  15. data/lib/xero-ruby/models/accounting/batch_payment.rb +2 -2
  16. data/lib/xero-ruby/models/accounting/batch_payment_delete.rb +244 -0
  17. data/lib/xero-ruby/models/accounting/batch_payment_delete_by_url_param.rb +229 -0
  18. data/lib/xero-ruby/models/accounting/contact.rb +1 -11
  19. data/lib/xero-ruby/models/accounting/currency_code.rb +10 -8
  20. data/lib/xero-ruby/models/accounting/journal_line.rb +1 -1
  21. data/lib/xero-ruby/models/accounting/line_item.rb +2 -2
  22. data/lib/xero-ruby/models/accounting/organisation.rb +6 -2
  23. data/lib/xero-ruby/models/accounting/payment.rb +26 -4
  24. data/lib/xero-ruby/models/accounting/repeating_invoice.rb +53 -5
  25. data/lib/xero-ruby/models/accounting/tax_rate.rb +23 -5
  26. data/lib/xero-ruby/models/accounting/tax_type.rb +60 -3
  27. data/lib/xero-ruby/models/accounting/ten_ninety_nine_contact.rb +75 -4
  28. data/lib/xero-ruby/models/accounting/time_zone.rb +123 -91
  29. data/lib/xero-ruby/models/app_store/create_usage_record.rb +243 -0
  30. data/lib/xero-ruby/models/app_store/update_usage_record.rb +228 -0
  31. data/lib/xero-ruby/models/app_store/usage_record.rb +332 -0
  32. data/lib/xero-ruby/models/app_store/usage_records_list.rb +230 -0
  33. data/lib/xero-ruby/models/files/association.rb +31 -1
  34. data/lib/xero-ruby/models/finance/problem_type.rb +1 -0
  35. data/lib/xero-ruby/models/finance/statement_line_response.rb +11 -1
  36. data/lib/xero-ruby/models/finance/statement_response.rb +24 -4
  37. data/lib/xero-ruby/models/payroll_au/allowance_type.rb +0 -1
  38. data/lib/xero-ruby/models/payroll_au/country_of_residence.rb +284 -0
  39. data/lib/xero-ruby/models/payroll_au/earnings_rate.rb +21 -1
  40. data/lib/xero-ruby/models/payroll_au/earnings_type.rb +2 -0
  41. data/lib/xero-ruby/models/payroll_au/employee.rb +42 -2
  42. data/lib/xero-ruby/models/payroll_au/employment_basis.rb +1 -0
  43. data/lib/xero-ruby/models/payroll_au/employment_type.rb +36 -0
  44. data/lib/xero-ruby/models/payroll_au/income_type.rb +39 -0
  45. data/lib/xero-ruby/models/payroll_au/leave_application.rb +11 -1
  46. data/lib/xero-ruby/models/payroll_au/leave_category_code.rb +46 -0
  47. data/lib/xero-ruby/models/payroll_au/leave_earnings_line.rb +14 -4
  48. data/lib/xero-ruby/models/payroll_au/leave_line_calculation_type.rb +0 -1
  49. data/lib/xero-ruby/models/payroll_au/leave_period_status.rb +2 -0
  50. data/lib/xero-ruby/models/payroll_au/leave_type.rb +24 -4
  51. data/lib/xero-ruby/models/payroll_au/opening_balances.rb +16 -4
  52. data/lib/xero-ruby/models/payroll_au/paid_leave_earnings_line.rb +272 -0
  53. data/lib/xero-ruby/models/payroll_au/pay_out_type.rb +36 -0
  54. data/lib/xero-ruby/models/payroll_au/senior_marital_status.rb +37 -0
  55. data/lib/xero-ruby/models/payroll_au/settings.rb +14 -4
  56. data/lib/xero-ruby/models/payroll_au/tax_declaration.rb +51 -1
  57. data/lib/xero-ruby/models/payroll_au/tax_scale_type.rb +40 -0
  58. data/lib/xero-ruby/models/payroll_au/work_condition.rb +37 -0
  59. data/lib/xero-ruby/models/payroll_nz/employee.rb +14 -4
  60. data/lib/xero-ruby/models/payroll_uk/earnings_rate.rb +3 -3
  61. data/lib/xero-ruby/models/projects/currency_code.rb +0 -1
  62. data/lib/xero-ruby/models/projects/task.rb +6 -6
  63. data/lib/xero-ruby/models/projects/task_create_or_update.rb +1 -1
  64. data/lib/xero-ruby/version.rb +2 -2
  65. data/lib/xero-ruby/where.rb +2 -0
  66. data/lib/xero-ruby.rb +15 -0
  67. metadata +30 -15
@@ -20,6 +20,7 @@ module XeroRuby
20
20
  # @param xero_tenant_id [String] Xero identifier for Tenant
21
21
  # @param account [Account] Account object in body of request
22
22
  # @param [Hash] opts the optional parameters
23
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
23
24
  # @return [Accounts]
24
25
  def create_account(xero_tenant_id, account, opts = {})
25
26
  data, _status_code, _headers = create_account_with_http_info(xero_tenant_id, account, opts)
@@ -30,6 +31,7 @@ module XeroRuby
30
31
  # @param xero_tenant_id [String] Xero identifier for Tenant
31
32
  # @param account [Account] Account object in body of request
32
33
  # @param [Hash] opts the optional parameters
34
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
33
35
  # @return [Array<(Accounts, Integer, Hash)>] Accounts data, response status code and response headers
34
36
  def create_account_with_http_info(xero_tenant_id, account, options = {})
35
37
  opts = options.dup
@@ -64,6 +66,7 @@ module XeroRuby
64
66
  # HTTP header 'Content-Type'
65
67
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
66
68
  header_params[:'xero-tenant-id'] = xero_tenant_id
69
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
67
70
 
68
71
  # form parameters
69
72
  form_params = opts[:form_params] || {}
@@ -99,6 +102,7 @@ module XeroRuby
99
102
  # @param file_name [String] Name of the attachment
100
103
  # @param body [String] Byte array of file in body of request
101
104
  # @param [Hash] opts the optional parameters
105
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
102
106
  # @return [Attachments]
103
107
  def create_account_attachment_by_file_name(xero_tenant_id, account_id, file_name, body, opts = {})
104
108
  data, _status_code, _headers = create_account_attachment_by_file_name_with_http_info(xero_tenant_id, account_id, file_name, body, opts)
@@ -111,6 +115,7 @@ module XeroRuby
111
115
  # @param file_name [String] Name of the attachment
112
116
  # @param body [String] Byte array of file in body of request
113
117
  # @param [Hash] opts the optional parameters
118
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
114
119
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
115
120
  def create_account_attachment_by_file_name_with_http_info(xero_tenant_id, account_id, file_name, body, options = {})
116
121
  opts = options.dup
@@ -153,6 +158,7 @@ module XeroRuby
153
158
  # HTTP header 'Content-Type'
154
159
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/octet-stream'])
155
160
  header_params[:'xero-tenant-id'] = xero_tenant_id
161
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
156
162
 
157
163
  # form parameters
158
164
  form_params = opts[:form_params] || {}
@@ -188,6 +194,7 @@ module XeroRuby
188
194
  # @param file_name [String] Name of the attachment
189
195
  # @param body [String] Byte array of file in body of request
190
196
  # @param [Hash] opts the optional parameters
197
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
191
198
  # @return [Attachments]
192
199
  def create_bank_transaction_attachment_by_file_name(xero_tenant_id, bank_transaction_id, file_name, body, opts = {})
193
200
  data, _status_code, _headers = create_bank_transaction_attachment_by_file_name_with_http_info(xero_tenant_id, bank_transaction_id, file_name, body, opts)
@@ -200,6 +207,7 @@ module XeroRuby
200
207
  # @param file_name [String] Name of the attachment
201
208
  # @param body [String] Byte array of file in body of request
202
209
  # @param [Hash] opts the optional parameters
210
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
203
211
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
204
212
  def create_bank_transaction_attachment_by_file_name_with_http_info(xero_tenant_id, bank_transaction_id, file_name, body, options = {})
205
213
  opts = options.dup
@@ -242,6 +250,7 @@ module XeroRuby
242
250
  # HTTP header 'Content-Type'
243
251
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/octet-stream'])
244
252
  header_params[:'xero-tenant-id'] = xero_tenant_id
253
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
245
254
 
246
255
  # form parameters
247
256
  form_params = opts[:form_params] || {}
@@ -276,6 +285,7 @@ module XeroRuby
276
285
  # @param bank_transaction_id [String] Xero generated unique identifier for a bank transaction
277
286
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
278
287
  # @param [Hash] opts the optional parameters
288
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
279
289
  # @return [HistoryRecords]
280
290
  def create_bank_transaction_history_record(xero_tenant_id, bank_transaction_id, history_records, opts = {})
281
291
  data, _status_code, _headers = create_bank_transaction_history_record_with_http_info(xero_tenant_id, bank_transaction_id, history_records, opts)
@@ -287,6 +297,7 @@ module XeroRuby
287
297
  # @param bank_transaction_id [String] Xero generated unique identifier for a bank transaction
288
298
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
289
299
  # @param [Hash] opts the optional parameters
300
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
290
301
  # @return [Array<(HistoryRecords, Integer, Hash)>] HistoryRecords data, response status code and response headers
291
302
  def create_bank_transaction_history_record_with_http_info(xero_tenant_id, bank_transaction_id, history_records, options = {})
292
303
  opts = options.dup
@@ -325,6 +336,7 @@ module XeroRuby
325
336
  # HTTP header 'Content-Type'
326
337
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
327
338
  header_params[:'xero-tenant-id'] = xero_tenant_id
339
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
328
340
 
329
341
  # form parameters
330
342
  form_params = opts[:form_params] || {}
@@ -360,6 +372,7 @@ module XeroRuby
360
372
  # @param [Hash] opts the optional parameters
361
373
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
362
374
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
375
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
363
376
  # @return [BankTransactions]
364
377
  def create_bank_transactions(xero_tenant_id, bank_transactions, opts = {})
365
378
  data, _status_code, _headers = create_bank_transactions_with_http_info(xero_tenant_id, bank_transactions, opts)
@@ -372,6 +385,7 @@ module XeroRuby
372
385
  # @param [Hash] opts the optional parameters
373
386
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
374
387
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
388
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
375
389
  # @return [Array<(BankTransactions, Integer, Hash)>] BankTransactions data, response status code and response headers
376
390
  def create_bank_transactions_with_http_info(xero_tenant_id, bank_transactions, options = {})
377
391
  opts = options.dup
@@ -408,6 +422,7 @@ module XeroRuby
408
422
  # HTTP header 'Content-Type'
409
423
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
410
424
  header_params[:'xero-tenant-id'] = xero_tenant_id
425
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
411
426
 
412
427
  # form parameters
413
428
  form_params = opts[:form_params] || {}
@@ -441,6 +456,7 @@ module XeroRuby
441
456
  # @param xero_tenant_id [String] Xero identifier for Tenant
442
457
  # @param bank_transfers [BankTransfers] BankTransfers with array of BankTransfer objects in request body
443
458
  # @param [Hash] opts the optional parameters
459
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
444
460
  # @return [BankTransfers]
445
461
  def create_bank_transfer(xero_tenant_id, bank_transfers, opts = {})
446
462
  data, _status_code, _headers = create_bank_transfer_with_http_info(xero_tenant_id, bank_transfers, opts)
@@ -451,6 +467,7 @@ module XeroRuby
451
467
  # @param xero_tenant_id [String] Xero identifier for Tenant
452
468
  # @param bank_transfers [BankTransfers] BankTransfers with array of BankTransfer objects in request body
453
469
  # @param [Hash] opts the optional parameters
470
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
454
471
  # @return [Array<(BankTransfers, Integer, Hash)>] BankTransfers data, response status code and response headers
455
472
  def create_bank_transfer_with_http_info(xero_tenant_id, bank_transfers, options = {})
456
473
  opts = options.dup
@@ -485,6 +502,7 @@ module XeroRuby
485
502
  # HTTP header 'Content-Type'
486
503
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
487
504
  header_params[:'xero-tenant-id'] = xero_tenant_id
505
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
488
506
 
489
507
  # form parameters
490
508
  form_params = opts[:form_params] || {}
@@ -519,6 +537,7 @@ module XeroRuby
519
537
  # @param file_name [String] Name of the attachment
520
538
  # @param body [String] Byte array of file in body of request
521
539
  # @param [Hash] opts the optional parameters
540
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
522
541
  # @return [Attachments]
523
542
  def create_bank_transfer_attachment_by_file_name(xero_tenant_id, bank_transfer_id, file_name, body, opts = {})
524
543
  data, _status_code, _headers = create_bank_transfer_attachment_by_file_name_with_http_info(xero_tenant_id, bank_transfer_id, file_name, body, opts)
@@ -530,6 +549,7 @@ module XeroRuby
530
549
  # @param file_name [String] Name of the attachment
531
550
  # @param body [String] Byte array of file in body of request
532
551
  # @param [Hash] opts the optional parameters
552
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
533
553
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
534
554
  def create_bank_transfer_attachment_by_file_name_with_http_info(xero_tenant_id, bank_transfer_id, file_name, body, options = {})
535
555
  opts = options.dup
@@ -572,6 +592,7 @@ module XeroRuby
572
592
  # HTTP header 'Content-Type'
573
593
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/octet-stream'])
574
594
  header_params[:'xero-tenant-id'] = xero_tenant_id
595
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
575
596
 
576
597
  # form parameters
577
598
  form_params = opts[:form_params] || {}
@@ -606,6 +627,7 @@ module XeroRuby
606
627
  # @param bank_transfer_id [String] Xero generated unique identifier for a bank transfer
607
628
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
608
629
  # @param [Hash] opts the optional parameters
630
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
609
631
  # @return [HistoryRecords]
610
632
  def create_bank_transfer_history_record(xero_tenant_id, bank_transfer_id, history_records, opts = {})
611
633
  data, _status_code, _headers = create_bank_transfer_history_record_with_http_info(xero_tenant_id, bank_transfer_id, history_records, opts)
@@ -617,6 +639,7 @@ module XeroRuby
617
639
  # @param bank_transfer_id [String] Xero generated unique identifier for a bank transfer
618
640
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
619
641
  # @param [Hash] opts the optional parameters
642
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
620
643
  # @return [Array<(HistoryRecords, Integer, Hash)>] HistoryRecords data, response status code and response headers
621
644
  def create_bank_transfer_history_record_with_http_info(xero_tenant_id, bank_transfer_id, history_records, options = {})
622
645
  opts = options.dup
@@ -655,6 +678,7 @@ module XeroRuby
655
678
  # HTTP header 'Content-Type'
656
679
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
657
680
  header_params[:'xero-tenant-id'] = xero_tenant_id
681
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
658
682
 
659
683
  # form parameters
660
684
  form_params = opts[:form_params] || {}
@@ -689,6 +713,7 @@ module XeroRuby
689
713
  # @param batch_payments [BatchPayments] BatchPayments with an array of Payments in body of request
690
714
  # @param [Hash] opts the optional parameters
691
715
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
716
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
692
717
  # @return [BatchPayments]
693
718
  def create_batch_payment(xero_tenant_id, batch_payments, opts = {})
694
719
  data, _status_code, _headers = create_batch_payment_with_http_info(xero_tenant_id, batch_payments, opts)
@@ -700,6 +725,7 @@ module XeroRuby
700
725
  # @param batch_payments [BatchPayments] BatchPayments with an array of Payments in body of request
701
726
  # @param [Hash] opts the optional parameters
702
727
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
728
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
703
729
  # @return [Array<(BatchPayments, Integer, Hash)>] BatchPayments data, response status code and response headers
704
730
  def create_batch_payment_with_http_info(xero_tenant_id, batch_payments, options = {})
705
731
  opts = options.dup
@@ -735,6 +761,7 @@ module XeroRuby
735
761
  # HTTP header 'Content-Type'
736
762
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
737
763
  header_params[:'xero-tenant-id'] = xero_tenant_id
764
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
738
765
 
739
766
  # form parameters
740
767
  form_params = opts[:form_params] || {}
@@ -769,6 +796,7 @@ module XeroRuby
769
796
  # @param batch_payment_id [String] Unique identifier for BatchPayment
770
797
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
771
798
  # @param [Hash] opts the optional parameters
799
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
772
800
  # @return [HistoryRecords]
773
801
  def create_batch_payment_history_record(xero_tenant_id, batch_payment_id, history_records, opts = {})
774
802
  data, _status_code, _headers = create_batch_payment_history_record_with_http_info(xero_tenant_id, batch_payment_id, history_records, opts)
@@ -780,6 +808,7 @@ module XeroRuby
780
808
  # @param batch_payment_id [String] Unique identifier for BatchPayment
781
809
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
782
810
  # @param [Hash] opts the optional parameters
811
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
783
812
  # @return [Array<(HistoryRecords, Integer, Hash)>] HistoryRecords data, response status code and response headers
784
813
  def create_batch_payment_history_record_with_http_info(xero_tenant_id, batch_payment_id, history_records, options = {})
785
814
  opts = options.dup
@@ -818,6 +847,7 @@ module XeroRuby
818
847
  # HTTP header 'Content-Type'
819
848
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
820
849
  header_params[:'xero-tenant-id'] = xero_tenant_id
850
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
821
851
 
822
852
  # form parameters
823
853
  form_params = opts[:form_params] || {}
@@ -850,21 +880,23 @@ module XeroRuby
850
880
  # Creates a new custom payment service for a specific branding theme
851
881
  # @param xero_tenant_id [String] Xero identifier for Tenant
852
882
  # @param branding_theme_id [String] Unique identifier for a Branding Theme
853
- # @param payment_service [PaymentService] PaymentService object in body of request
883
+ # @param payment_services [PaymentServices] PaymentServices array with PaymentService object in body of request
854
884
  # @param [Hash] opts the optional parameters
885
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
855
886
  # @return [PaymentServices]
856
- def create_branding_theme_payment_services(xero_tenant_id, branding_theme_id, payment_service, opts = {})
857
- data, _status_code, _headers = create_branding_theme_payment_services_with_http_info(xero_tenant_id, branding_theme_id, payment_service, opts)
887
+ def create_branding_theme_payment_services(xero_tenant_id, branding_theme_id, payment_services, opts = {})
888
+ data, _status_code, _headers = create_branding_theme_payment_services_with_http_info(xero_tenant_id, branding_theme_id, payment_services, opts)
858
889
  data
859
890
  end
860
891
 
861
892
  # Creates a new custom payment service for a specific branding theme
862
893
  # @param xero_tenant_id [String] Xero identifier for Tenant
863
894
  # @param branding_theme_id [String] Unique identifier for a Branding Theme
864
- # @param payment_service [PaymentService] PaymentService object in body of request
895
+ # @param payment_services [PaymentServices] PaymentServices array with PaymentService object in body of request
865
896
  # @param [Hash] opts the optional parameters
897
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
866
898
  # @return [Array<(PaymentServices, Integer, Hash)>] PaymentServices data, response status code and response headers
867
- def create_branding_theme_payment_services_with_http_info(xero_tenant_id, branding_theme_id, payment_service, options = {})
899
+ def create_branding_theme_payment_services_with_http_info(xero_tenant_id, branding_theme_id, payment_services, options = {})
868
900
  opts = options.dup
869
901
  if @api_client.config.debugging
870
902
  @api_client.config.logger.debug 'Calling API: AccountingApi.create_branding_theme_payment_services ...'
@@ -877,9 +909,9 @@ module XeroRuby
877
909
  if @api_client.config.client_side_validation && branding_theme_id.nil?
878
910
  fail ArgumentError, "Missing the required parameter 'branding_theme_id' when calling AccountingApi.create_branding_theme_payment_services"
879
911
  end
880
- # verify the required parameter 'payment_service' is set
881
- if @api_client.config.client_side_validation && payment_service.nil?
882
- fail ArgumentError, "Missing the required parameter 'payment_service' when calling AccountingApi.create_branding_theme_payment_services"
912
+ # verify the required parameter 'payment_services' is set
913
+ if @api_client.config.client_side_validation && payment_services.nil?
914
+ fail ArgumentError, "Missing the required parameter 'payment_services' when calling AccountingApi.create_branding_theme_payment_services"
883
915
  end
884
916
  # resource path
885
917
  local_var_path = '/BrandingThemes/{BrandingThemeID}/PaymentServices'.sub('{' + 'BrandingThemeID' + '}', branding_theme_id.to_s)
@@ -901,12 +933,13 @@ module XeroRuby
901
933
  # HTTP header 'Content-Type'
902
934
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
903
935
  header_params[:'xero-tenant-id'] = xero_tenant_id
936
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
904
937
 
905
938
  # form parameters
906
939
  form_params = opts[:form_params] || {}
907
940
 
908
941
  # http body (model)
909
- post_body = opts[:body] || @api_client.object_to_http_body(payment_service)
942
+ post_body = opts[:body] || @api_client.object_to_http_body(payment_services)
910
943
 
911
944
  # return_type
912
945
  return_type = opts[:return_type] || 'PaymentServices'
@@ -935,6 +968,7 @@ module XeroRuby
935
968
  # @param file_name [String] Name of the attachment
936
969
  # @param body [String] Byte array of file in body of request
937
970
  # @param [Hash] opts the optional parameters
971
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
938
972
  # @return [Attachments]
939
973
  def create_contact_attachment_by_file_name(xero_tenant_id, contact_id, file_name, body, opts = {})
940
974
  data, _status_code, _headers = create_contact_attachment_by_file_name_with_http_info(xero_tenant_id, contact_id, file_name, body, opts)
@@ -946,6 +980,7 @@ module XeroRuby
946
980
  # @param file_name [String] Name of the attachment
947
981
  # @param body [String] Byte array of file in body of request
948
982
  # @param [Hash] opts the optional parameters
983
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
949
984
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
950
985
  def create_contact_attachment_by_file_name_with_http_info(xero_tenant_id, contact_id, file_name, body, options = {})
951
986
  opts = options.dup
@@ -988,6 +1023,7 @@ module XeroRuby
988
1023
  # HTTP header 'Content-Type'
989
1024
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/octet-stream'])
990
1025
  header_params[:'xero-tenant-id'] = xero_tenant_id
1026
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
991
1027
 
992
1028
  # form parameters
993
1029
  form_params = opts[:form_params] || {}
@@ -1021,6 +1057,7 @@ module XeroRuby
1021
1057
  # @param xero_tenant_id [String] Xero identifier for Tenant
1022
1058
  # @param contact_groups [ContactGroups] ContactGroups with an array of names in request body
1023
1059
  # @param [Hash] opts the optional parameters
1060
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1024
1061
  # @return [ContactGroups]
1025
1062
  def create_contact_group(xero_tenant_id, contact_groups, opts = {})
1026
1063
  data, _status_code, _headers = create_contact_group_with_http_info(xero_tenant_id, contact_groups, opts)
@@ -1031,6 +1068,7 @@ module XeroRuby
1031
1068
  # @param xero_tenant_id [String] Xero identifier for Tenant
1032
1069
  # @param contact_groups [ContactGroups] ContactGroups with an array of names in request body
1033
1070
  # @param [Hash] opts the optional parameters
1071
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1034
1072
  # @return [Array<(ContactGroups, Integer, Hash)>] ContactGroups data, response status code and response headers
1035
1073
  def create_contact_group_with_http_info(xero_tenant_id, contact_groups, options = {})
1036
1074
  opts = options.dup
@@ -1065,6 +1103,7 @@ module XeroRuby
1065
1103
  # HTTP header 'Content-Type'
1066
1104
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1067
1105
  header_params[:'xero-tenant-id'] = xero_tenant_id
1106
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1068
1107
 
1069
1108
  # form parameters
1070
1109
  form_params = opts[:form_params] || {}
@@ -1099,6 +1138,7 @@ module XeroRuby
1099
1138
  # @param contact_group_id [String] Unique identifier for a Contact Group
1100
1139
  # @param contacts [Contacts] Contacts with array of contacts specifying the ContactID to be added to ContactGroup in body of request
1101
1140
  # @param [Hash] opts the optional parameters
1141
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1102
1142
  # @return [Contacts]
1103
1143
  def create_contact_group_contacts(xero_tenant_id, contact_group_id, contacts, opts = {})
1104
1144
  data, _status_code, _headers = create_contact_group_contacts_with_http_info(xero_tenant_id, contact_group_id, contacts, opts)
@@ -1110,6 +1150,7 @@ module XeroRuby
1110
1150
  # @param contact_group_id [String] Unique identifier for a Contact Group
1111
1151
  # @param contacts [Contacts] Contacts with array of contacts specifying the ContactID to be added to ContactGroup in body of request
1112
1152
  # @param [Hash] opts the optional parameters
1153
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1113
1154
  # @return [Array<(Contacts, Integer, Hash)>] Contacts data, response status code and response headers
1114
1155
  def create_contact_group_contacts_with_http_info(xero_tenant_id, contact_group_id, contacts, options = {})
1115
1156
  opts = options.dup
@@ -1148,6 +1189,7 @@ module XeroRuby
1148
1189
  # HTTP header 'Content-Type'
1149
1190
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1150
1191
  header_params[:'xero-tenant-id'] = xero_tenant_id
1192
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1151
1193
 
1152
1194
  # form parameters
1153
1195
  form_params = opts[:form_params] || {}
@@ -1182,6 +1224,7 @@ module XeroRuby
1182
1224
  # @param contact_id [String] Unique identifier for a Contact
1183
1225
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
1184
1226
  # @param [Hash] opts the optional parameters
1227
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1185
1228
  # @return [HistoryRecords]
1186
1229
  def create_contact_history(xero_tenant_id, contact_id, history_records, opts = {})
1187
1230
  data, _status_code, _headers = create_contact_history_with_http_info(xero_tenant_id, contact_id, history_records, opts)
@@ -1193,6 +1236,7 @@ module XeroRuby
1193
1236
  # @param contact_id [String] Unique identifier for a Contact
1194
1237
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
1195
1238
  # @param [Hash] opts the optional parameters
1239
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1196
1240
  # @return [Array<(HistoryRecords, Integer, Hash)>] HistoryRecords data, response status code and response headers
1197
1241
  def create_contact_history_with_http_info(xero_tenant_id, contact_id, history_records, options = {})
1198
1242
  opts = options.dup
@@ -1231,6 +1275,7 @@ module XeroRuby
1231
1275
  # HTTP header 'Content-Type'
1232
1276
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1233
1277
  header_params[:'xero-tenant-id'] = xero_tenant_id
1278
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1234
1279
 
1235
1280
  # form parameters
1236
1281
  form_params = opts[:form_params] || {}
@@ -1265,6 +1310,7 @@ module XeroRuby
1265
1310
  # @param contacts [Contacts] Contacts with an array of Contact objects to create in body of request
1266
1311
  # @param [Hash] opts the optional parameters
1267
1312
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
1313
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1268
1314
  # @return [Contacts]
1269
1315
  def create_contacts(xero_tenant_id, contacts, opts = {})
1270
1316
  data, _status_code, _headers = create_contacts_with_http_info(xero_tenant_id, contacts, opts)
@@ -1276,6 +1322,7 @@ module XeroRuby
1276
1322
  # @param contacts [Contacts] Contacts with an array of Contact objects to create in body of request
1277
1323
  # @param [Hash] opts the optional parameters
1278
1324
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
1325
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1279
1326
  # @return [Array<(Contacts, Integer, Hash)>] Contacts data, response status code and response headers
1280
1327
  def create_contacts_with_http_info(xero_tenant_id, contacts, options = {})
1281
1328
  opts = options.dup
@@ -1311,6 +1358,7 @@ module XeroRuby
1311
1358
  # HTTP header 'Content-Type'
1312
1359
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1313
1360
  header_params[:'xero-tenant-id'] = xero_tenant_id
1361
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1314
1362
 
1315
1363
  # form parameters
1316
1364
  form_params = opts[:form_params] || {}
@@ -1346,6 +1394,7 @@ module XeroRuby
1346
1394
  # @param allocations [Allocations] Allocations with array of Allocation object in body of request.
1347
1395
  # @param [Hash] opts the optional parameters
1348
1396
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
1397
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1349
1398
  # @return [Allocations]
1350
1399
  def create_credit_note_allocation(xero_tenant_id, credit_note_id, allocations, opts = {})
1351
1400
  data, _status_code, _headers = create_credit_note_allocation_with_http_info(xero_tenant_id, credit_note_id, allocations, opts)
@@ -1358,6 +1407,7 @@ module XeroRuby
1358
1407
  # @param allocations [Allocations] Allocations with array of Allocation object in body of request.
1359
1408
  # @param [Hash] opts the optional parameters
1360
1409
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
1410
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1361
1411
  # @return [Array<(Allocations, Integer, Hash)>] Allocations data, response status code and response headers
1362
1412
  def create_credit_note_allocation_with_http_info(xero_tenant_id, credit_note_id, allocations, options = {})
1363
1413
  opts = options.dup
@@ -1397,6 +1447,7 @@ module XeroRuby
1397
1447
  # HTTP header 'Content-Type'
1398
1448
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1399
1449
  header_params[:'xero-tenant-id'] = xero_tenant_id
1450
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1400
1451
 
1401
1452
  # form parameters
1402
1453
  form_params = opts[:form_params] || {}
@@ -1433,6 +1484,7 @@ module XeroRuby
1433
1484
  # @param body [String] Byte array of file in body of request
1434
1485
  # @param [Hash] opts the optional parameters
1435
1486
  # @option opts [Boolean] :include_online Allows an attachment to be seen by the end customer within their online invoice (default to false)
1487
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1436
1488
  # @return [Attachments]
1437
1489
  def create_credit_note_attachment_by_file_name(xero_tenant_id, credit_note_id, file_name, body, opts = {})
1438
1490
  data, _status_code, _headers = create_credit_note_attachment_by_file_name_with_http_info(xero_tenant_id, credit_note_id, file_name, body, opts)
@@ -1446,6 +1498,7 @@ module XeroRuby
1446
1498
  # @param body [String] Byte array of file in body of request
1447
1499
  # @param [Hash] opts the optional parameters
1448
1500
  # @option opts [Boolean] :include_online Allows an attachment to be seen by the end customer within their online invoice
1501
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1449
1502
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
1450
1503
  def create_credit_note_attachment_by_file_name_with_http_info(xero_tenant_id, credit_note_id, file_name, body, options = {})
1451
1504
  opts = options.dup
@@ -1489,6 +1542,7 @@ module XeroRuby
1489
1542
  # HTTP header 'Content-Type'
1490
1543
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/octet-stream'])
1491
1544
  header_params[:'xero-tenant-id'] = xero_tenant_id
1545
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1492
1546
 
1493
1547
  # form parameters
1494
1548
  form_params = opts[:form_params] || {}
@@ -1523,6 +1577,7 @@ module XeroRuby
1523
1577
  # @param credit_note_id [String] Unique identifier for a Credit Note
1524
1578
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
1525
1579
  # @param [Hash] opts the optional parameters
1580
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1526
1581
  # @return [HistoryRecords]
1527
1582
  def create_credit_note_history(xero_tenant_id, credit_note_id, history_records, opts = {})
1528
1583
  data, _status_code, _headers = create_credit_note_history_with_http_info(xero_tenant_id, credit_note_id, history_records, opts)
@@ -1534,6 +1589,7 @@ module XeroRuby
1534
1589
  # @param credit_note_id [String] Unique identifier for a Credit Note
1535
1590
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
1536
1591
  # @param [Hash] opts the optional parameters
1592
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1537
1593
  # @return [Array<(HistoryRecords, Integer, Hash)>] HistoryRecords data, response status code and response headers
1538
1594
  def create_credit_note_history_with_http_info(xero_tenant_id, credit_note_id, history_records, options = {})
1539
1595
  opts = options.dup
@@ -1572,6 +1628,7 @@ module XeroRuby
1572
1628
  # HTTP header 'Content-Type'
1573
1629
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1574
1630
  header_params[:'xero-tenant-id'] = xero_tenant_id
1631
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1575
1632
 
1576
1633
  # form parameters
1577
1634
  form_params = opts[:form_params] || {}
@@ -1607,6 +1664,7 @@ module XeroRuby
1607
1664
  # @param [Hash] opts the optional parameters
1608
1665
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
1609
1666
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
1667
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1610
1668
  # @return [CreditNotes]
1611
1669
  def create_credit_notes(xero_tenant_id, credit_notes, opts = {})
1612
1670
  data, _status_code, _headers = create_credit_notes_with_http_info(xero_tenant_id, credit_notes, opts)
@@ -1619,6 +1677,7 @@ module XeroRuby
1619
1677
  # @param [Hash] opts the optional parameters
1620
1678
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
1621
1679
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
1680
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1622
1681
  # @return [Array<(CreditNotes, Integer, Hash)>] CreditNotes data, response status code and response headers
1623
1682
  def create_credit_notes_with_http_info(xero_tenant_id, credit_notes, options = {})
1624
1683
  opts = options.dup
@@ -1655,6 +1714,7 @@ module XeroRuby
1655
1714
  # HTTP header 'Content-Type'
1656
1715
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1657
1716
  header_params[:'xero-tenant-id'] = xero_tenant_id
1717
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1658
1718
 
1659
1719
  # form parameters
1660
1720
  form_params = opts[:form_params] || {}
@@ -1688,6 +1748,7 @@ module XeroRuby
1688
1748
  # @param xero_tenant_id [String] Xero identifier for Tenant
1689
1749
  # @param currency [Currency] Currency object in the body of request
1690
1750
  # @param [Hash] opts the optional parameters
1751
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1691
1752
  # @return [Currencies]
1692
1753
  def create_currency(xero_tenant_id, currency, opts = {})
1693
1754
  data, _status_code, _headers = create_currency_with_http_info(xero_tenant_id, currency, opts)
@@ -1698,6 +1759,7 @@ module XeroRuby
1698
1759
  # @param xero_tenant_id [String] Xero identifier for Tenant
1699
1760
  # @param currency [Currency] Currency object in the body of request
1700
1761
  # @param [Hash] opts the optional parameters
1762
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1701
1763
  # @return [Array<(Currencies, Integer, Hash)>] Currencies data, response status code and response headers
1702
1764
  def create_currency_with_http_info(xero_tenant_id, currency, options = {})
1703
1765
  opts = options.dup
@@ -1732,6 +1794,7 @@ module XeroRuby
1732
1794
  # HTTP header 'Content-Type'
1733
1795
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1734
1796
  header_params[:'xero-tenant-id'] = xero_tenant_id
1797
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1735
1798
 
1736
1799
  # form parameters
1737
1800
  form_params = opts[:form_params] || {}
@@ -1766,6 +1829,7 @@ module XeroRuby
1766
1829
  # @param employees [Employees] Employees with array of Employee object in body of request
1767
1830
  # @param [Hash] opts the optional parameters
1768
1831
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
1832
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1769
1833
  # @return [Employees]
1770
1834
  def create_employees(xero_tenant_id, employees, opts = {})
1771
1835
  data, _status_code, _headers = create_employees_with_http_info(xero_tenant_id, employees, opts)
@@ -1777,6 +1841,7 @@ module XeroRuby
1777
1841
  # @param employees [Employees] Employees with array of Employee object in body of request
1778
1842
  # @param [Hash] opts the optional parameters
1779
1843
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
1844
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1780
1845
  # @return [Array<(Employees, Integer, Hash)>] Employees data, response status code and response headers
1781
1846
  def create_employees_with_http_info(xero_tenant_id, employees, options = {})
1782
1847
  opts = options.dup
@@ -1812,6 +1877,7 @@ module XeroRuby
1812
1877
  # HTTP header 'Content-Type'
1813
1878
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1814
1879
  header_params[:'xero-tenant-id'] = xero_tenant_id
1880
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1815
1881
 
1816
1882
  # form parameters
1817
1883
  form_params = opts[:form_params] || {}
@@ -1846,6 +1912,7 @@ module XeroRuby
1846
1912
  # @param expense_claim_id [String] Unique identifier for a ExpenseClaim
1847
1913
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
1848
1914
  # @param [Hash] opts the optional parameters
1915
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1849
1916
  # @return [HistoryRecords]
1850
1917
  def create_expense_claim_history(xero_tenant_id, expense_claim_id, history_records, opts = {})
1851
1918
  data, _status_code, _headers = create_expense_claim_history_with_http_info(xero_tenant_id, expense_claim_id, history_records, opts)
@@ -1857,6 +1924,7 @@ module XeroRuby
1857
1924
  # @param expense_claim_id [String] Unique identifier for a ExpenseClaim
1858
1925
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
1859
1926
  # @param [Hash] opts the optional parameters
1927
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1860
1928
  # @return [Array<(HistoryRecords, Integer, Hash)>] HistoryRecords data, response status code and response headers
1861
1929
  def create_expense_claim_history_with_http_info(xero_tenant_id, expense_claim_id, history_records, options = {})
1862
1930
  opts = options.dup
@@ -1895,6 +1963,7 @@ module XeroRuby
1895
1963
  # HTTP header 'Content-Type'
1896
1964
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1897
1965
  header_params[:'xero-tenant-id'] = xero_tenant_id
1966
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1898
1967
 
1899
1968
  # form parameters
1900
1969
  form_params = opts[:form_params] || {}
@@ -1928,6 +1997,7 @@ module XeroRuby
1928
1997
  # @param xero_tenant_id [String] Xero identifier for Tenant
1929
1998
  # @param expense_claims [ExpenseClaims] ExpenseClaims with array of ExpenseClaim object in body of request
1930
1999
  # @param [Hash] opts the optional parameters
2000
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1931
2001
  # @return [ExpenseClaims]
1932
2002
  def create_expense_claims(xero_tenant_id, expense_claims, opts = {})
1933
2003
  data, _status_code, _headers = create_expense_claims_with_http_info(xero_tenant_id, expense_claims, opts)
@@ -1938,6 +2008,7 @@ module XeroRuby
1938
2008
  # @param xero_tenant_id [String] Xero identifier for Tenant
1939
2009
  # @param expense_claims [ExpenseClaims] ExpenseClaims with array of ExpenseClaim object in body of request
1940
2010
  # @param [Hash] opts the optional parameters
2011
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1941
2012
  # @return [Array<(ExpenseClaims, Integer, Hash)>] ExpenseClaims data, response status code and response headers
1942
2013
  def create_expense_claims_with_http_info(xero_tenant_id, expense_claims, options = {})
1943
2014
  opts = options.dup
@@ -1972,6 +2043,7 @@ module XeroRuby
1972
2043
  # HTTP header 'Content-Type'
1973
2044
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1974
2045
  header_params[:'xero-tenant-id'] = xero_tenant_id
2046
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1975
2047
 
1976
2048
  # form parameters
1977
2049
  form_params = opts[:form_params] || {}
@@ -2008,6 +2080,7 @@ module XeroRuby
2008
2080
  # @param body [String] Byte array of file in body of request
2009
2081
  # @param [Hash] opts the optional parameters
2010
2082
  # @option opts [Boolean] :include_online Allows an attachment to be seen by the end customer within their online invoice (default to false)
2083
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2011
2084
  # @return [Attachments]
2012
2085
  def create_invoice_attachment_by_file_name(xero_tenant_id, invoice_id, file_name, body, opts = {})
2013
2086
  data, _status_code, _headers = create_invoice_attachment_by_file_name_with_http_info(xero_tenant_id, invoice_id, file_name, body, opts)
@@ -2021,6 +2094,7 @@ module XeroRuby
2021
2094
  # @param body [String] Byte array of file in body of request
2022
2095
  # @param [Hash] opts the optional parameters
2023
2096
  # @option opts [Boolean] :include_online Allows an attachment to be seen by the end customer within their online invoice
2097
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2024
2098
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
2025
2099
  def create_invoice_attachment_by_file_name_with_http_info(xero_tenant_id, invoice_id, file_name, body, options = {})
2026
2100
  opts = options.dup
@@ -2064,6 +2138,7 @@ module XeroRuby
2064
2138
  # HTTP header 'Content-Type'
2065
2139
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/octet-stream'])
2066
2140
  header_params[:'xero-tenant-id'] = xero_tenant_id
2141
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
2067
2142
 
2068
2143
  # form parameters
2069
2144
  form_params = opts[:form_params] || {}
@@ -2098,6 +2173,7 @@ module XeroRuby
2098
2173
  # @param invoice_id [String] Unique identifier for an Invoice
2099
2174
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
2100
2175
  # @param [Hash] opts the optional parameters
2176
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2101
2177
  # @return [HistoryRecords]
2102
2178
  def create_invoice_history(xero_tenant_id, invoice_id, history_records, opts = {})
2103
2179
  data, _status_code, _headers = create_invoice_history_with_http_info(xero_tenant_id, invoice_id, history_records, opts)
@@ -2109,6 +2185,7 @@ module XeroRuby
2109
2185
  # @param invoice_id [String] Unique identifier for an Invoice
2110
2186
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
2111
2187
  # @param [Hash] opts the optional parameters
2188
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2112
2189
  # @return [Array<(HistoryRecords, Integer, Hash)>] HistoryRecords data, response status code and response headers
2113
2190
  def create_invoice_history_with_http_info(xero_tenant_id, invoice_id, history_records, options = {})
2114
2191
  opts = options.dup
@@ -2147,6 +2224,7 @@ module XeroRuby
2147
2224
  # HTTP header 'Content-Type'
2148
2225
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2149
2226
  header_params[:'xero-tenant-id'] = xero_tenant_id
2227
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
2150
2228
 
2151
2229
  # form parameters
2152
2230
  form_params = opts[:form_params] || {}
@@ -2182,6 +2260,7 @@ module XeroRuby
2182
2260
  # @param [Hash] opts the optional parameters
2183
2261
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
2184
2262
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
2263
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2185
2264
  # @return [Invoices]
2186
2265
  def create_invoices(xero_tenant_id, invoices, opts = {})
2187
2266
  data, _status_code, _headers = create_invoices_with_http_info(xero_tenant_id, invoices, opts)
@@ -2194,6 +2273,7 @@ module XeroRuby
2194
2273
  # @param [Hash] opts the optional parameters
2195
2274
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
2196
2275
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
2276
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2197
2277
  # @return [Array<(Invoices, Integer, Hash)>] Invoices data, response status code and response headers
2198
2278
  def create_invoices_with_http_info(xero_tenant_id, invoices, options = {})
2199
2279
  opts = options.dup
@@ -2230,6 +2310,7 @@ module XeroRuby
2230
2310
  # HTTP header 'Content-Type'
2231
2311
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2232
2312
  header_params[:'xero-tenant-id'] = xero_tenant_id
2313
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
2233
2314
 
2234
2315
  # form parameters
2235
2316
  form_params = opts[:form_params] || {}
@@ -2264,6 +2345,7 @@ module XeroRuby
2264
2345
  # @param item_id [String] Unique identifier for an Item
2265
2346
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
2266
2347
  # @param [Hash] opts the optional parameters
2348
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2267
2349
  # @return [HistoryRecords]
2268
2350
  def create_item_history(xero_tenant_id, item_id, history_records, opts = {})
2269
2351
  data, _status_code, _headers = create_item_history_with_http_info(xero_tenant_id, item_id, history_records, opts)
@@ -2275,6 +2357,7 @@ module XeroRuby
2275
2357
  # @param item_id [String] Unique identifier for an Item
2276
2358
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
2277
2359
  # @param [Hash] opts the optional parameters
2360
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2278
2361
  # @return [Array<(HistoryRecords, Integer, Hash)>] HistoryRecords data, response status code and response headers
2279
2362
  def create_item_history_with_http_info(xero_tenant_id, item_id, history_records, options = {})
2280
2363
  opts = options.dup
@@ -2313,6 +2396,7 @@ module XeroRuby
2313
2396
  # HTTP header 'Content-Type'
2314
2397
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2315
2398
  header_params[:'xero-tenant-id'] = xero_tenant_id
2399
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
2316
2400
 
2317
2401
  # form parameters
2318
2402
  form_params = opts[:form_params] || {}
@@ -2348,6 +2432,7 @@ module XeroRuby
2348
2432
  # @param [Hash] opts the optional parameters
2349
2433
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
2350
2434
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
2435
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2351
2436
  # @return [Items]
2352
2437
  def create_items(xero_tenant_id, items, opts = {})
2353
2438
  data, _status_code, _headers = create_items_with_http_info(xero_tenant_id, items, opts)
@@ -2360,6 +2445,7 @@ module XeroRuby
2360
2445
  # @param [Hash] opts the optional parameters
2361
2446
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
2362
2447
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
2448
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2363
2449
  # @return [Array<(Items, Integer, Hash)>] Items data, response status code and response headers
2364
2450
  def create_items_with_http_info(xero_tenant_id, items, options = {})
2365
2451
  opts = options.dup
@@ -2396,6 +2482,7 @@ module XeroRuby
2396
2482
  # HTTP header 'Content-Type'
2397
2483
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2398
2484
  header_params[:'xero-tenant-id'] = xero_tenant_id
2485
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
2399
2486
 
2400
2487
  # form parameters
2401
2488
  form_params = opts[:form_params] || {}
@@ -2429,6 +2516,7 @@ module XeroRuby
2429
2516
  # @param xero_tenant_id [String] Xero identifier for Tenant
2430
2517
  # @param linked_transaction [LinkedTransaction] LinkedTransaction object in body of request
2431
2518
  # @param [Hash] opts the optional parameters
2519
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2432
2520
  # @return [LinkedTransactions]
2433
2521
  def create_linked_transaction(xero_tenant_id, linked_transaction, opts = {})
2434
2522
  data, _status_code, _headers = create_linked_transaction_with_http_info(xero_tenant_id, linked_transaction, opts)
@@ -2439,6 +2527,7 @@ module XeroRuby
2439
2527
  # @param xero_tenant_id [String] Xero identifier for Tenant
2440
2528
  # @param linked_transaction [LinkedTransaction] LinkedTransaction object in body of request
2441
2529
  # @param [Hash] opts the optional parameters
2530
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2442
2531
  # @return [Array<(LinkedTransactions, Integer, Hash)>] LinkedTransactions data, response status code and response headers
2443
2532
  def create_linked_transaction_with_http_info(xero_tenant_id, linked_transaction, options = {})
2444
2533
  opts = options.dup
@@ -2473,6 +2562,7 @@ module XeroRuby
2473
2562
  # HTTP header 'Content-Type'
2474
2563
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2475
2564
  header_params[:'xero-tenant-id'] = xero_tenant_id
2565
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
2476
2566
 
2477
2567
  # form parameters
2478
2568
  form_params = opts[:form_params] || {}
@@ -2508,6 +2598,7 @@ module XeroRuby
2508
2598
  # @param file_name [String] Name of the attachment
2509
2599
  # @param body [String] Byte array of file in body of request
2510
2600
  # @param [Hash] opts the optional parameters
2601
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2511
2602
  # @return [Attachments]
2512
2603
  def create_manual_journal_attachment_by_file_name(xero_tenant_id, manual_journal_id, file_name, body, opts = {})
2513
2604
  data, _status_code, _headers = create_manual_journal_attachment_by_file_name_with_http_info(xero_tenant_id, manual_journal_id, file_name, body, opts)
@@ -2520,6 +2611,7 @@ module XeroRuby
2520
2611
  # @param file_name [String] Name of the attachment
2521
2612
  # @param body [String] Byte array of file in body of request
2522
2613
  # @param [Hash] opts the optional parameters
2614
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2523
2615
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
2524
2616
  def create_manual_journal_attachment_by_file_name_with_http_info(xero_tenant_id, manual_journal_id, file_name, body, options = {})
2525
2617
  opts = options.dup
@@ -2562,6 +2654,7 @@ module XeroRuby
2562
2654
  # HTTP header 'Content-Type'
2563
2655
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/octet-stream'])
2564
2656
  header_params[:'xero-tenant-id'] = xero_tenant_id
2657
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
2565
2658
 
2566
2659
  # form parameters
2567
2660
  form_params = opts[:form_params] || {}
@@ -2596,6 +2689,7 @@ module XeroRuby
2596
2689
  # @param manual_journal_id [String] Unique identifier for a ManualJournal
2597
2690
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
2598
2691
  # @param [Hash] opts the optional parameters
2692
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2599
2693
  # @return [HistoryRecords]
2600
2694
  def create_manual_journal_history_record(xero_tenant_id, manual_journal_id, history_records, opts = {})
2601
2695
  data, _status_code, _headers = create_manual_journal_history_record_with_http_info(xero_tenant_id, manual_journal_id, history_records, opts)
@@ -2607,6 +2701,7 @@ module XeroRuby
2607
2701
  # @param manual_journal_id [String] Unique identifier for a ManualJournal
2608
2702
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
2609
2703
  # @param [Hash] opts the optional parameters
2704
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2610
2705
  # @return [Array<(HistoryRecords, Integer, Hash)>] HistoryRecords data, response status code and response headers
2611
2706
  def create_manual_journal_history_record_with_http_info(xero_tenant_id, manual_journal_id, history_records, options = {})
2612
2707
  opts = options.dup
@@ -2645,6 +2740,7 @@ module XeroRuby
2645
2740
  # HTTP header 'Content-Type'
2646
2741
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2647
2742
  header_params[:'xero-tenant-id'] = xero_tenant_id
2743
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
2648
2744
 
2649
2745
  # form parameters
2650
2746
  form_params = opts[:form_params] || {}
@@ -2679,6 +2775,7 @@ module XeroRuby
2679
2775
  # @param manual_journals [ManualJournals] ManualJournals array with ManualJournal object in body of request
2680
2776
  # @param [Hash] opts the optional parameters
2681
2777
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
2778
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2682
2779
  # @return [ManualJournals]
2683
2780
  def create_manual_journals(xero_tenant_id, manual_journals, opts = {})
2684
2781
  data, _status_code, _headers = create_manual_journals_with_http_info(xero_tenant_id, manual_journals, opts)
@@ -2690,6 +2787,7 @@ module XeroRuby
2690
2787
  # @param manual_journals [ManualJournals] ManualJournals array with ManualJournal object in body of request
2691
2788
  # @param [Hash] opts the optional parameters
2692
2789
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
2790
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2693
2791
  # @return [Array<(ManualJournals, Integer, Hash)>] ManualJournals data, response status code and response headers
2694
2792
  def create_manual_journals_with_http_info(xero_tenant_id, manual_journals, options = {})
2695
2793
  opts = options.dup
@@ -2725,6 +2823,7 @@ module XeroRuby
2725
2823
  # HTTP header 'Content-Type'
2726
2824
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2727
2825
  header_params[:'xero-tenant-id'] = xero_tenant_id
2826
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
2728
2827
 
2729
2828
  # form parameters
2730
2829
  form_params = opts[:form_params] || {}
@@ -2760,6 +2859,7 @@ module XeroRuby
2760
2859
  # @param allocations [Allocations] Allocations array with Allocation object in body of request
2761
2860
  # @param [Hash] opts the optional parameters
2762
2861
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
2862
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2763
2863
  # @return [Allocations]
2764
2864
  def create_overpayment_allocations(xero_tenant_id, overpayment_id, allocations, opts = {})
2765
2865
  data, _status_code, _headers = create_overpayment_allocations_with_http_info(xero_tenant_id, overpayment_id, allocations, opts)
@@ -2772,6 +2872,7 @@ module XeroRuby
2772
2872
  # @param allocations [Allocations] Allocations array with Allocation object in body of request
2773
2873
  # @param [Hash] opts the optional parameters
2774
2874
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
2875
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2775
2876
  # @return [Array<(Allocations, Integer, Hash)>] Allocations data, response status code and response headers
2776
2877
  def create_overpayment_allocations_with_http_info(xero_tenant_id, overpayment_id, allocations, options = {})
2777
2878
  opts = options.dup
@@ -2811,6 +2912,7 @@ module XeroRuby
2811
2912
  # HTTP header 'Content-Type'
2812
2913
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2813
2914
  header_params[:'xero-tenant-id'] = xero_tenant_id
2915
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
2814
2916
 
2815
2917
  # form parameters
2816
2918
  form_params = opts[:form_params] || {}
@@ -2845,6 +2947,7 @@ module XeroRuby
2845
2947
  # @param overpayment_id [String] Unique identifier for a Overpayment
2846
2948
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
2847
2949
  # @param [Hash] opts the optional parameters
2950
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2848
2951
  # @return [HistoryRecords]
2849
2952
  def create_overpayment_history(xero_tenant_id, overpayment_id, history_records, opts = {})
2850
2953
  data, _status_code, _headers = create_overpayment_history_with_http_info(xero_tenant_id, overpayment_id, history_records, opts)
@@ -2856,6 +2959,7 @@ module XeroRuby
2856
2959
  # @param overpayment_id [String] Unique identifier for a Overpayment
2857
2960
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
2858
2961
  # @param [Hash] opts the optional parameters
2962
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2859
2963
  # @return [Array<(HistoryRecords, Integer, Hash)>] HistoryRecords data, response status code and response headers
2860
2964
  def create_overpayment_history_with_http_info(xero_tenant_id, overpayment_id, history_records, options = {})
2861
2965
  opts = options.dup
@@ -2894,6 +2998,7 @@ module XeroRuby
2894
2998
  # HTTP header 'Content-Type'
2895
2999
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2896
3000
  header_params[:'xero-tenant-id'] = xero_tenant_id
3001
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
2897
3002
 
2898
3003
  # form parameters
2899
3004
  form_params = opts[:form_params] || {}
@@ -2927,6 +3032,7 @@ module XeroRuby
2927
3032
  # @param xero_tenant_id [String] Xero identifier for Tenant
2928
3033
  # @param payment [Payment] Request body with a single Payment object
2929
3034
  # @param [Hash] opts the optional parameters
3035
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2930
3036
  # @return [Payments]
2931
3037
  def create_payment(xero_tenant_id, payment, opts = {})
2932
3038
  data, _status_code, _headers = create_payment_with_http_info(xero_tenant_id, payment, opts)
@@ -2937,6 +3043,7 @@ module XeroRuby
2937
3043
  # @param xero_tenant_id [String] Xero identifier for Tenant
2938
3044
  # @param payment [Payment] Request body with a single Payment object
2939
3045
  # @param [Hash] opts the optional parameters
3046
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
2940
3047
  # @return [Array<(Payments, Integer, Hash)>] Payments data, response status code and response headers
2941
3048
  def create_payment_with_http_info(xero_tenant_id, payment, options = {})
2942
3049
  opts = options.dup
@@ -2971,6 +3078,7 @@ module XeroRuby
2971
3078
  # HTTP header 'Content-Type'
2972
3079
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2973
3080
  header_params[:'xero-tenant-id'] = xero_tenant_id
3081
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
2974
3082
 
2975
3083
  # form parameters
2976
3084
  form_params = opts[:form_params] || {}
@@ -3005,6 +3113,7 @@ module XeroRuby
3005
3113
  # @param payment_id [String] Unique identifier for a Payment
3006
3114
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
3007
3115
  # @param [Hash] opts the optional parameters
3116
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3008
3117
  # @return [HistoryRecords]
3009
3118
  def create_payment_history(xero_tenant_id, payment_id, history_records, opts = {})
3010
3119
  data, _status_code, _headers = create_payment_history_with_http_info(xero_tenant_id, payment_id, history_records, opts)
@@ -3016,6 +3125,7 @@ module XeroRuby
3016
3125
  # @param payment_id [String] Unique identifier for a Payment
3017
3126
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
3018
3127
  # @param [Hash] opts the optional parameters
3128
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3019
3129
  # @return [Array<(HistoryRecords, Integer, Hash)>] HistoryRecords data, response status code and response headers
3020
3130
  def create_payment_history_with_http_info(xero_tenant_id, payment_id, history_records, options = {})
3021
3131
  opts = options.dup
@@ -3054,6 +3164,7 @@ module XeroRuby
3054
3164
  # HTTP header 'Content-Type'
3055
3165
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3056
3166
  header_params[:'xero-tenant-id'] = xero_tenant_id
3167
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
3057
3168
 
3058
3169
  # form parameters
3059
3170
  form_params = opts[:form_params] || {}
@@ -3087,6 +3198,7 @@ module XeroRuby
3087
3198
  # @param xero_tenant_id [String] Xero identifier for Tenant
3088
3199
  # @param payment_services [PaymentServices] PaymentServices array with PaymentService object in body of request
3089
3200
  # @param [Hash] opts the optional parameters
3201
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3090
3202
  # @return [PaymentServices]
3091
3203
  def create_payment_service(xero_tenant_id, payment_services, opts = {})
3092
3204
  data, _status_code, _headers = create_payment_service_with_http_info(xero_tenant_id, payment_services, opts)
@@ -3097,6 +3209,7 @@ module XeroRuby
3097
3209
  # @param xero_tenant_id [String] Xero identifier for Tenant
3098
3210
  # @param payment_services [PaymentServices] PaymentServices array with PaymentService object in body of request
3099
3211
  # @param [Hash] opts the optional parameters
3212
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3100
3213
  # @return [Array<(PaymentServices, Integer, Hash)>] PaymentServices data, response status code and response headers
3101
3214
  def create_payment_service_with_http_info(xero_tenant_id, payment_services, options = {})
3102
3215
  opts = options.dup
@@ -3131,6 +3244,7 @@ module XeroRuby
3131
3244
  # HTTP header 'Content-Type'
3132
3245
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3133
3246
  header_params[:'xero-tenant-id'] = xero_tenant_id
3247
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
3134
3248
 
3135
3249
  # form parameters
3136
3250
  form_params = opts[:form_params] || {}
@@ -3165,6 +3279,7 @@ module XeroRuby
3165
3279
  # @param payments [Payments] Payments array with Payment object in body of request
3166
3280
  # @param [Hash] opts the optional parameters
3167
3281
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
3282
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3168
3283
  # @return [Payments]
3169
3284
  def create_payments(xero_tenant_id, payments, opts = {})
3170
3285
  data, _status_code, _headers = create_payments_with_http_info(xero_tenant_id, payments, opts)
@@ -3176,6 +3291,7 @@ module XeroRuby
3176
3291
  # @param payments [Payments] Payments array with Payment object in body of request
3177
3292
  # @param [Hash] opts the optional parameters
3178
3293
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
3294
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3179
3295
  # @return [Array<(Payments, Integer, Hash)>] Payments data, response status code and response headers
3180
3296
  def create_payments_with_http_info(xero_tenant_id, payments, options = {})
3181
3297
  opts = options.dup
@@ -3211,6 +3327,7 @@ module XeroRuby
3211
3327
  # HTTP header 'Content-Type'
3212
3328
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3213
3329
  header_params[:'xero-tenant-id'] = xero_tenant_id
3330
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
3214
3331
 
3215
3332
  # form parameters
3216
3333
  form_params = opts[:form_params] || {}
@@ -3246,6 +3363,7 @@ module XeroRuby
3246
3363
  # @param allocations [Allocations] Allocations with an array of Allocation object in body of request
3247
3364
  # @param [Hash] opts the optional parameters
3248
3365
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
3366
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3249
3367
  # @return [Allocations]
3250
3368
  def create_prepayment_allocations(xero_tenant_id, prepayment_id, allocations, opts = {})
3251
3369
  data, _status_code, _headers = create_prepayment_allocations_with_http_info(xero_tenant_id, prepayment_id, allocations, opts)
@@ -3258,6 +3376,7 @@ module XeroRuby
3258
3376
  # @param allocations [Allocations] Allocations with an array of Allocation object in body of request
3259
3377
  # @param [Hash] opts the optional parameters
3260
3378
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
3379
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3261
3380
  # @return [Array<(Allocations, Integer, Hash)>] Allocations data, response status code and response headers
3262
3381
  def create_prepayment_allocations_with_http_info(xero_tenant_id, prepayment_id, allocations, options = {})
3263
3382
  opts = options.dup
@@ -3297,6 +3416,7 @@ module XeroRuby
3297
3416
  # HTTP header 'Content-Type'
3298
3417
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3299
3418
  header_params[:'xero-tenant-id'] = xero_tenant_id
3419
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
3300
3420
 
3301
3421
  # form parameters
3302
3422
  form_params = opts[:form_params] || {}
@@ -3331,6 +3451,7 @@ module XeroRuby
3331
3451
  # @param prepayment_id [String] Unique identifier for a PrePayment
3332
3452
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
3333
3453
  # @param [Hash] opts the optional parameters
3454
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3334
3455
  # @return [HistoryRecords]
3335
3456
  def create_prepayment_history(xero_tenant_id, prepayment_id, history_records, opts = {})
3336
3457
  data, _status_code, _headers = create_prepayment_history_with_http_info(xero_tenant_id, prepayment_id, history_records, opts)
@@ -3342,6 +3463,7 @@ module XeroRuby
3342
3463
  # @param prepayment_id [String] Unique identifier for a PrePayment
3343
3464
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
3344
3465
  # @param [Hash] opts the optional parameters
3466
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3345
3467
  # @return [Array<(HistoryRecords, Integer, Hash)>] HistoryRecords data, response status code and response headers
3346
3468
  def create_prepayment_history_with_http_info(xero_tenant_id, prepayment_id, history_records, options = {})
3347
3469
  opts = options.dup
@@ -3380,6 +3502,7 @@ module XeroRuby
3380
3502
  # HTTP header 'Content-Type'
3381
3503
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3382
3504
  header_params[:'xero-tenant-id'] = xero_tenant_id
3505
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
3383
3506
 
3384
3507
  # form parameters
3385
3508
  form_params = opts[:form_params] || {}
@@ -3415,6 +3538,7 @@ module XeroRuby
3415
3538
  # @param file_name [String] Name of the attachment
3416
3539
  # @param body [String] Byte array of file in body of request
3417
3540
  # @param [Hash] opts the optional parameters
3541
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3418
3542
  # @return [Attachments]
3419
3543
  def create_purchase_order_attachment_by_file_name(xero_tenant_id, purchase_order_id, file_name, body, opts = {})
3420
3544
  data, _status_code, _headers = create_purchase_order_attachment_by_file_name_with_http_info(xero_tenant_id, purchase_order_id, file_name, body, opts)
@@ -3427,6 +3551,7 @@ module XeroRuby
3427
3551
  # @param file_name [String] Name of the attachment
3428
3552
  # @param body [String] Byte array of file in body of request
3429
3553
  # @param [Hash] opts the optional parameters
3554
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3430
3555
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
3431
3556
  def create_purchase_order_attachment_by_file_name_with_http_info(xero_tenant_id, purchase_order_id, file_name, body, options = {})
3432
3557
  opts = options.dup
@@ -3469,6 +3594,7 @@ module XeroRuby
3469
3594
  # HTTP header 'Content-Type'
3470
3595
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/octet-stream'])
3471
3596
  header_params[:'xero-tenant-id'] = xero_tenant_id
3597
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
3472
3598
 
3473
3599
  # form parameters
3474
3600
  form_params = opts[:form_params] || {}
@@ -3503,6 +3629,7 @@ module XeroRuby
3503
3629
  # @param purchase_order_id [String] Unique identifier for an Purchase Order
3504
3630
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
3505
3631
  # @param [Hash] opts the optional parameters
3632
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3506
3633
  # @return [HistoryRecords]
3507
3634
  def create_purchase_order_history(xero_tenant_id, purchase_order_id, history_records, opts = {})
3508
3635
  data, _status_code, _headers = create_purchase_order_history_with_http_info(xero_tenant_id, purchase_order_id, history_records, opts)
@@ -3514,6 +3641,7 @@ module XeroRuby
3514
3641
  # @param purchase_order_id [String] Unique identifier for an Purchase Order
3515
3642
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
3516
3643
  # @param [Hash] opts the optional parameters
3644
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3517
3645
  # @return [Array<(HistoryRecords, Integer, Hash)>] HistoryRecords data, response status code and response headers
3518
3646
  def create_purchase_order_history_with_http_info(xero_tenant_id, purchase_order_id, history_records, options = {})
3519
3647
  opts = options.dup
@@ -3552,6 +3680,7 @@ module XeroRuby
3552
3680
  # HTTP header 'Content-Type'
3553
3681
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3554
3682
  header_params[:'xero-tenant-id'] = xero_tenant_id
3683
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
3555
3684
 
3556
3685
  # form parameters
3557
3686
  form_params = opts[:form_params] || {}
@@ -3586,6 +3715,7 @@ module XeroRuby
3586
3715
  # @param purchase_orders [PurchaseOrders] PurchaseOrders with an array of PurchaseOrder object in body of request
3587
3716
  # @param [Hash] opts the optional parameters
3588
3717
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
3718
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3589
3719
  # @return [PurchaseOrders]
3590
3720
  def create_purchase_orders(xero_tenant_id, purchase_orders, opts = {})
3591
3721
  data, _status_code, _headers = create_purchase_orders_with_http_info(xero_tenant_id, purchase_orders, opts)
@@ -3597,6 +3727,7 @@ module XeroRuby
3597
3727
  # @param purchase_orders [PurchaseOrders] PurchaseOrders with an array of PurchaseOrder object in body of request
3598
3728
  # @param [Hash] opts the optional parameters
3599
3729
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
3730
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3600
3731
  # @return [Array<(PurchaseOrders, Integer, Hash)>] PurchaseOrders data, response status code and response headers
3601
3732
  def create_purchase_orders_with_http_info(xero_tenant_id, purchase_orders, options = {})
3602
3733
  opts = options.dup
@@ -3632,6 +3763,7 @@ module XeroRuby
3632
3763
  # HTTP header 'Content-Type'
3633
3764
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3634
3765
  header_params[:'xero-tenant-id'] = xero_tenant_id
3766
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
3635
3767
 
3636
3768
  # form parameters
3637
3769
  form_params = opts[:form_params] || {}
@@ -3667,6 +3799,7 @@ module XeroRuby
3667
3799
  # @param file_name [String] Name of the attachment
3668
3800
  # @param body [String] Byte array of file in body of request
3669
3801
  # @param [Hash] opts the optional parameters
3802
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3670
3803
  # @return [Attachments]
3671
3804
  def create_quote_attachment_by_file_name(xero_tenant_id, quote_id, file_name, body, opts = {})
3672
3805
  data, _status_code, _headers = create_quote_attachment_by_file_name_with_http_info(xero_tenant_id, quote_id, file_name, body, opts)
@@ -3679,6 +3812,7 @@ module XeroRuby
3679
3812
  # @param file_name [String] Name of the attachment
3680
3813
  # @param body [String] Byte array of file in body of request
3681
3814
  # @param [Hash] opts the optional parameters
3815
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3682
3816
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
3683
3817
  def create_quote_attachment_by_file_name_with_http_info(xero_tenant_id, quote_id, file_name, body, options = {})
3684
3818
  opts = options.dup
@@ -3721,6 +3855,7 @@ module XeroRuby
3721
3855
  # HTTP header 'Content-Type'
3722
3856
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/octet-stream'])
3723
3857
  header_params[:'xero-tenant-id'] = xero_tenant_id
3858
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
3724
3859
 
3725
3860
  # form parameters
3726
3861
  form_params = opts[:form_params] || {}
@@ -3755,6 +3890,7 @@ module XeroRuby
3755
3890
  # @param quote_id [String] Unique identifier for an Quote
3756
3891
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
3757
3892
  # @param [Hash] opts the optional parameters
3893
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3758
3894
  # @return [HistoryRecords]
3759
3895
  def create_quote_history(xero_tenant_id, quote_id, history_records, opts = {})
3760
3896
  data, _status_code, _headers = create_quote_history_with_http_info(xero_tenant_id, quote_id, history_records, opts)
@@ -3766,6 +3902,7 @@ module XeroRuby
3766
3902
  # @param quote_id [String] Unique identifier for an Quote
3767
3903
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
3768
3904
  # @param [Hash] opts the optional parameters
3905
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3769
3906
  # @return [Array<(HistoryRecords, Integer, Hash)>] HistoryRecords data, response status code and response headers
3770
3907
  def create_quote_history_with_http_info(xero_tenant_id, quote_id, history_records, options = {})
3771
3908
  opts = options.dup
@@ -3804,6 +3941,7 @@ module XeroRuby
3804
3941
  # HTTP header 'Content-Type'
3805
3942
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3806
3943
  header_params[:'xero-tenant-id'] = xero_tenant_id
3944
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
3807
3945
 
3808
3946
  # form parameters
3809
3947
  form_params = opts[:form_params] || {}
@@ -3838,6 +3976,7 @@ module XeroRuby
3838
3976
  # @param quotes [Quotes] Quotes with an array of Quote object in body of request
3839
3977
  # @param [Hash] opts the optional parameters
3840
3978
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
3979
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3841
3980
  # @return [Quotes]
3842
3981
  def create_quotes(xero_tenant_id, quotes, opts = {})
3843
3982
  data, _status_code, _headers = create_quotes_with_http_info(xero_tenant_id, quotes, opts)
@@ -3849,6 +3988,7 @@ module XeroRuby
3849
3988
  # @param quotes [Quotes] Quotes with an array of Quote object in body of request
3850
3989
  # @param [Hash] opts the optional parameters
3851
3990
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
3991
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3852
3992
  # @return [Array<(Quotes, Integer, Hash)>] Quotes data, response status code and response headers
3853
3993
  def create_quotes_with_http_info(xero_tenant_id, quotes, options = {})
3854
3994
  opts = options.dup
@@ -3884,6 +4024,7 @@ module XeroRuby
3884
4024
  # HTTP header 'Content-Type'
3885
4025
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3886
4026
  header_params[:'xero-tenant-id'] = xero_tenant_id
4027
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
3887
4028
 
3888
4029
  # form parameters
3889
4030
  form_params = opts[:form_params] || {}
@@ -3918,6 +4059,7 @@ module XeroRuby
3918
4059
  # @param receipts [Receipts] Receipts with an array of Receipt object in body of request
3919
4060
  # @param [Hash] opts the optional parameters
3920
4061
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
4062
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3921
4063
  # @return [Receipts]
3922
4064
  def create_receipt(xero_tenant_id, receipts, opts = {})
3923
4065
  data, _status_code, _headers = create_receipt_with_http_info(xero_tenant_id, receipts, opts)
@@ -3929,6 +4071,7 @@ module XeroRuby
3929
4071
  # @param receipts [Receipts] Receipts with an array of Receipt object in body of request
3930
4072
  # @param [Hash] opts the optional parameters
3931
4073
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
4074
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
3932
4075
  # @return [Array<(Receipts, Integer, Hash)>] Receipts data, response status code and response headers
3933
4076
  def create_receipt_with_http_info(xero_tenant_id, receipts, options = {})
3934
4077
  opts = options.dup
@@ -3964,6 +4107,7 @@ module XeroRuby
3964
4107
  # HTTP header 'Content-Type'
3965
4108
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3966
4109
  header_params[:'xero-tenant-id'] = xero_tenant_id
4110
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
3967
4111
 
3968
4112
  # form parameters
3969
4113
  form_params = opts[:form_params] || {}
@@ -3999,6 +4143,7 @@ module XeroRuby
3999
4143
  # @param file_name [String] Name of the attachment
4000
4144
  # @param body [String] Byte array of file in body of request
4001
4145
  # @param [Hash] opts the optional parameters
4146
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
4002
4147
  # @return [Attachments]
4003
4148
  def create_receipt_attachment_by_file_name(xero_tenant_id, receipt_id, file_name, body, opts = {})
4004
4149
  data, _status_code, _headers = create_receipt_attachment_by_file_name_with_http_info(xero_tenant_id, receipt_id, file_name, body, opts)
@@ -4011,6 +4156,7 @@ module XeroRuby
4011
4156
  # @param file_name [String] Name of the attachment
4012
4157
  # @param body [String] Byte array of file in body of request
4013
4158
  # @param [Hash] opts the optional parameters
4159
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
4014
4160
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
4015
4161
  def create_receipt_attachment_by_file_name_with_http_info(xero_tenant_id, receipt_id, file_name, body, options = {})
4016
4162
  opts = options.dup
@@ -4053,6 +4199,7 @@ module XeroRuby
4053
4199
  # HTTP header 'Content-Type'
4054
4200
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/octet-stream'])
4055
4201
  header_params[:'xero-tenant-id'] = xero_tenant_id
4202
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
4056
4203
 
4057
4204
  # form parameters
4058
4205
  form_params = opts[:form_params] || {}
@@ -4087,6 +4234,7 @@ module XeroRuby
4087
4234
  # @param receipt_id [String] Unique identifier for a Receipt
4088
4235
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
4089
4236
  # @param [Hash] opts the optional parameters
4237
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
4090
4238
  # @return [HistoryRecords]
4091
4239
  def create_receipt_history(xero_tenant_id, receipt_id, history_records, opts = {})
4092
4240
  data, _status_code, _headers = create_receipt_history_with_http_info(xero_tenant_id, receipt_id, history_records, opts)
@@ -4098,6 +4246,7 @@ module XeroRuby
4098
4246
  # @param receipt_id [String] Unique identifier for a Receipt
4099
4247
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
4100
4248
  # @param [Hash] opts the optional parameters
4249
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
4101
4250
  # @return [Array<(HistoryRecords, Integer, Hash)>] HistoryRecords data, response status code and response headers
4102
4251
  def create_receipt_history_with_http_info(xero_tenant_id, receipt_id, history_records, options = {})
4103
4252
  opts = options.dup
@@ -4136,6 +4285,7 @@ module XeroRuby
4136
4285
  # HTTP header 'Content-Type'
4137
4286
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
4138
4287
  header_params[:'xero-tenant-id'] = xero_tenant_id
4288
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
4139
4289
 
4140
4290
  # form parameters
4141
4291
  form_params = opts[:form_params] || {}
@@ -4171,6 +4321,7 @@ module XeroRuby
4171
4321
  # @param file_name [String] Name of the attachment
4172
4322
  # @param body [String] Byte array of file in body of request
4173
4323
  # @param [Hash] opts the optional parameters
4324
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
4174
4325
  # @return [Attachments]
4175
4326
  def create_repeating_invoice_attachment_by_file_name(xero_tenant_id, repeating_invoice_id, file_name, body, opts = {})
4176
4327
  data, _status_code, _headers = create_repeating_invoice_attachment_by_file_name_with_http_info(xero_tenant_id, repeating_invoice_id, file_name, body, opts)
@@ -4183,6 +4334,7 @@ module XeroRuby
4183
4334
  # @param file_name [String] Name of the attachment
4184
4335
  # @param body [String] Byte array of file in body of request
4185
4336
  # @param [Hash] opts the optional parameters
4337
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
4186
4338
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
4187
4339
  def create_repeating_invoice_attachment_by_file_name_with_http_info(xero_tenant_id, repeating_invoice_id, file_name, body, options = {})
4188
4340
  opts = options.dup
@@ -4225,6 +4377,7 @@ module XeroRuby
4225
4377
  # HTTP header 'Content-Type'
4226
4378
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/octet-stream'])
4227
4379
  header_params[:'xero-tenant-id'] = xero_tenant_id
4380
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
4228
4381
 
4229
4382
  # form parameters
4230
4383
  form_params = opts[:form_params] || {}
@@ -4259,6 +4412,7 @@ module XeroRuby
4259
4412
  # @param repeating_invoice_id [String] Unique identifier for a Repeating Invoice
4260
4413
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
4261
4414
  # @param [Hash] opts the optional parameters
4415
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
4262
4416
  # @return [HistoryRecords]
4263
4417
  def create_repeating_invoice_history(xero_tenant_id, repeating_invoice_id, history_records, opts = {})
4264
4418
  data, _status_code, _headers = create_repeating_invoice_history_with_http_info(xero_tenant_id, repeating_invoice_id, history_records, opts)
@@ -4270,6 +4424,7 @@ module XeroRuby
4270
4424
  # @param repeating_invoice_id [String] Unique identifier for a Repeating Invoice
4271
4425
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
4272
4426
  # @param [Hash] opts the optional parameters
4427
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
4273
4428
  # @return [Array<(HistoryRecords, Integer, Hash)>] HistoryRecords data, response status code and response headers
4274
4429
  def create_repeating_invoice_history_with_http_info(xero_tenant_id, repeating_invoice_id, history_records, options = {})
4275
4430
  opts = options.dup
@@ -4308,6 +4463,7 @@ module XeroRuby
4308
4463
  # HTTP header 'Content-Type'
4309
4464
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
4310
4465
  header_params[:'xero-tenant-id'] = xero_tenant_id
4466
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
4311
4467
 
4312
4468
  # form parameters
4313
4469
  form_params = opts[:form_params] || {}
@@ -4337,10 +4493,94 @@ module XeroRuby
4337
4493
  return data, status_code, headers
4338
4494
  end
4339
4495
 
4496
+ # Creates one or more repeating invoice templates
4497
+ # @param xero_tenant_id [String] Xero identifier for Tenant
4498
+ # @param repeating_invoices [RepeatingInvoices] RepeatingInvoices with an array of repeating invoice objects in body of request
4499
+ # @param [Hash] opts the optional parameters
4500
+ # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
4501
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
4502
+ # @return [RepeatingInvoices]
4503
+ def create_repeating_invoices(xero_tenant_id, repeating_invoices, opts = {})
4504
+ data, _status_code, _headers = create_repeating_invoices_with_http_info(xero_tenant_id, repeating_invoices, opts)
4505
+ data
4506
+ end
4507
+
4508
+ # Creates one or more repeating invoice templates
4509
+ # @param xero_tenant_id [String] Xero identifier for Tenant
4510
+ # @param repeating_invoices [RepeatingInvoices] RepeatingInvoices with an array of repeating invoice objects in body of request
4511
+ # @param [Hash] opts the optional parameters
4512
+ # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
4513
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
4514
+ # @return [Array<(RepeatingInvoices, Integer, Hash)>] RepeatingInvoices data, response status code and response headers
4515
+ def create_repeating_invoices_with_http_info(xero_tenant_id, repeating_invoices, options = {})
4516
+ opts = options.dup
4517
+ if @api_client.config.debugging
4518
+ @api_client.config.logger.debug 'Calling API: AccountingApi.create_repeating_invoices ...'
4519
+ end
4520
+ # verify the required parameter 'xero_tenant_id' is set
4521
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
4522
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AccountingApi.create_repeating_invoices"
4523
+ end
4524
+ # verify the required parameter 'repeating_invoices' is set
4525
+ if @api_client.config.client_side_validation && repeating_invoices.nil?
4526
+ fail ArgumentError, "Missing the required parameter 'repeating_invoices' when calling AccountingApi.create_repeating_invoices"
4527
+ end
4528
+ # resource path
4529
+ local_var_path = '/RepeatingInvoices'
4530
+
4531
+ # camelize keys of incoming `where` opts
4532
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
4533
+
4534
+ # query parameters
4535
+ query_params = opts[:query_params] || {}
4536
+ query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
4537
+
4538
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
4539
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
4540
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
4541
+
4542
+ # header parameters
4543
+ header_params = opts[:header_params] || {}
4544
+ # HTTP header 'Accept' (if needed)
4545
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
4546
+ # HTTP header 'Content-Type'
4547
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
4548
+ header_params[:'xero-tenant-id'] = xero_tenant_id
4549
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
4550
+
4551
+ # form parameters
4552
+ form_params = opts[:form_params] || {}
4553
+
4554
+ # http body (model)
4555
+ post_body = opts[:body] || @api_client.object_to_http_body(repeating_invoices)
4556
+
4557
+ # return_type
4558
+ return_type = opts[:return_type] || 'RepeatingInvoices'
4559
+
4560
+ # auth_names
4561
+ auth_names = opts[:auth_names] || ['OAuth2']
4562
+
4563
+ new_options = opts.merge(
4564
+ :header_params => header_params,
4565
+ :query_params => query_params,
4566
+ :form_params => form_params,
4567
+ :body => post_body,
4568
+ :auth_names => auth_names,
4569
+ :return_type => return_type
4570
+ )
4571
+
4572
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, "AccountingApi", new_options)
4573
+ if @api_client.config.debugging
4574
+ @api_client.config.logger.debug "API called: AccountingApi#create_repeating_invoices\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
4575
+ end
4576
+ return data, status_code, headers
4577
+ end
4578
+
4340
4579
  # Creates one or more tax rates
4341
4580
  # @param xero_tenant_id [String] Xero identifier for Tenant
4342
4581
  # @param tax_rates [TaxRates] TaxRates array with TaxRate object in body of request
4343
4582
  # @param [Hash] opts the optional parameters
4583
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
4344
4584
  # @return [TaxRates]
4345
4585
  def create_tax_rates(xero_tenant_id, tax_rates, opts = {})
4346
4586
  data, _status_code, _headers = create_tax_rates_with_http_info(xero_tenant_id, tax_rates, opts)
@@ -4351,6 +4591,7 @@ module XeroRuby
4351
4591
  # @param xero_tenant_id [String] Xero identifier for Tenant
4352
4592
  # @param tax_rates [TaxRates] TaxRates array with TaxRate object in body of request
4353
4593
  # @param [Hash] opts the optional parameters
4594
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
4354
4595
  # @return [Array<(TaxRates, Integer, Hash)>] TaxRates data, response status code and response headers
4355
4596
  def create_tax_rates_with_http_info(xero_tenant_id, tax_rates, options = {})
4356
4597
  opts = options.dup
@@ -4385,6 +4626,7 @@ module XeroRuby
4385
4626
  # HTTP header 'Content-Type'
4386
4627
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
4387
4628
  header_params[:'xero-tenant-id'] = xero_tenant_id
4629
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
4388
4630
 
4389
4631
  # form parameters
4390
4632
  form_params = opts[:form_params] || {}
@@ -4418,6 +4660,7 @@ module XeroRuby
4418
4660
  # @param xero_tenant_id [String] Xero identifier for Tenant
4419
4661
  # @param tracking_category [TrackingCategory] TrackingCategory object in body of request
4420
4662
  # @param [Hash] opts the optional parameters
4663
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
4421
4664
  # @return [TrackingCategories]
4422
4665
  def create_tracking_category(xero_tenant_id, tracking_category, opts = {})
4423
4666
  data, _status_code, _headers = create_tracking_category_with_http_info(xero_tenant_id, tracking_category, opts)
@@ -4428,6 +4671,7 @@ module XeroRuby
4428
4671
  # @param xero_tenant_id [String] Xero identifier for Tenant
4429
4672
  # @param tracking_category [TrackingCategory] TrackingCategory object in body of request
4430
4673
  # @param [Hash] opts the optional parameters
4674
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
4431
4675
  # @return [Array<(TrackingCategories, Integer, Hash)>] TrackingCategories data, response status code and response headers
4432
4676
  def create_tracking_category_with_http_info(xero_tenant_id, tracking_category, options = {})
4433
4677
  opts = options.dup
@@ -4462,6 +4706,7 @@ module XeroRuby
4462
4706
  # HTTP header 'Content-Type'
4463
4707
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
4464
4708
  header_params[:'xero-tenant-id'] = xero_tenant_id
4709
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
4465
4710
 
4466
4711
  # form parameters
4467
4712
  form_params = opts[:form_params] || {}
@@ -4496,6 +4741,7 @@ module XeroRuby
4496
4741
  # @param tracking_category_id [String] Unique identifier for a TrackingCategory
4497
4742
  # @param tracking_option [TrackingOption] TrackingOption object in body of request
4498
4743
  # @param [Hash] opts the optional parameters
4744
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
4499
4745
  # @return [TrackingOptions]
4500
4746
  def create_tracking_options(xero_tenant_id, tracking_category_id, tracking_option, opts = {})
4501
4747
  data, _status_code, _headers = create_tracking_options_with_http_info(xero_tenant_id, tracking_category_id, tracking_option, opts)
@@ -4507,6 +4753,7 @@ module XeroRuby
4507
4753
  # @param tracking_category_id [String] Unique identifier for a TrackingCategory
4508
4754
  # @param tracking_option [TrackingOption] TrackingOption object in body of request
4509
4755
  # @param [Hash] opts the optional parameters
4756
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
4510
4757
  # @return [Array<(TrackingOptions, Integer, Hash)>] TrackingOptions data, response status code and response headers
4511
4758
  def create_tracking_options_with_http_info(xero_tenant_id, tracking_category_id, tracking_option, options = {})
4512
4759
  opts = options.dup
@@ -4545,6 +4792,7 @@ module XeroRuby
4545
4792
  # HTTP header 'Content-Type'
4546
4793
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
4547
4794
  header_params[:'xero-tenant-id'] = xero_tenant_id
4795
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
4548
4796
 
4549
4797
  # form parameters
4550
4798
  form_params = opts[:form_params] || {}
@@ -4649,6 +4897,172 @@ module XeroRuby
4649
4897
  return data, status_code, headers
4650
4898
  end
4651
4899
 
4900
+ # Updates a specific batch payment for invoices and credit notes
4901
+ # @param xero_tenant_id [String] Xero identifier for Tenant
4902
+ # @param batch_payment_delete [BatchPaymentDelete]
4903
+ # @param [Hash] opts the optional parameters
4904
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
4905
+ # @return [BatchPayments]
4906
+ def delete_batch_payment(xero_tenant_id, batch_payment_delete, opts = {})
4907
+ data, _status_code, _headers = delete_batch_payment_with_http_info(xero_tenant_id, batch_payment_delete, opts)
4908
+ data
4909
+ end
4910
+
4911
+ # Updates a specific batch payment for invoices and credit notes
4912
+ # @param xero_tenant_id [String] Xero identifier for Tenant
4913
+ # @param batch_payment_delete [BatchPaymentDelete]
4914
+ # @param [Hash] opts the optional parameters
4915
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
4916
+ # @return [Array<(BatchPayments, Integer, Hash)>] BatchPayments data, response status code and response headers
4917
+ def delete_batch_payment_with_http_info(xero_tenant_id, batch_payment_delete, options = {})
4918
+ opts = options.dup
4919
+ if @api_client.config.debugging
4920
+ @api_client.config.logger.debug 'Calling API: AccountingApi.delete_batch_payment ...'
4921
+ end
4922
+ # verify the required parameter 'xero_tenant_id' is set
4923
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
4924
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AccountingApi.delete_batch_payment"
4925
+ end
4926
+ # verify the required parameter 'batch_payment_delete' is set
4927
+ if @api_client.config.client_side_validation && batch_payment_delete.nil?
4928
+ fail ArgumentError, "Missing the required parameter 'batch_payment_delete' when calling AccountingApi.delete_batch_payment"
4929
+ end
4930
+ # resource path
4931
+ local_var_path = '/BatchPayments'
4932
+
4933
+ # camelize keys of incoming `where` opts
4934
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
4935
+
4936
+ # query parameters
4937
+ query_params = opts[:query_params] || {}
4938
+
4939
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
4940
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
4941
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
4942
+
4943
+ # header parameters
4944
+ header_params = opts[:header_params] || {}
4945
+ # HTTP header 'Accept' (if needed)
4946
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
4947
+ # HTTP header 'Content-Type'
4948
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
4949
+ header_params[:'xero-tenant-id'] = xero_tenant_id
4950
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
4951
+
4952
+ # form parameters
4953
+ form_params = opts[:form_params] || {}
4954
+
4955
+ # http body (model)
4956
+ post_body = opts[:body] || @api_client.object_to_http_body(batch_payment_delete)
4957
+
4958
+ # return_type
4959
+ return_type = opts[:return_type] || 'BatchPayments'
4960
+
4961
+ # auth_names
4962
+ auth_names = opts[:auth_names] || ['OAuth2']
4963
+
4964
+ new_options = opts.merge(
4965
+ :header_params => header_params,
4966
+ :query_params => query_params,
4967
+ :form_params => form_params,
4968
+ :body => post_body,
4969
+ :auth_names => auth_names,
4970
+ :return_type => return_type
4971
+ )
4972
+
4973
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, "AccountingApi", new_options)
4974
+ if @api_client.config.debugging
4975
+ @api_client.config.logger.debug "API called: AccountingApi#delete_batch_payment\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
4976
+ end
4977
+ return data, status_code, headers
4978
+ end
4979
+
4980
+ # Updates a specific batch payment for invoices and credit notes
4981
+ # @param xero_tenant_id [String] Xero identifier for Tenant
4982
+ # @param batch_payment_id [String] Unique identifier for BatchPayment
4983
+ # @param batch_payment_delete_by_url_param [BatchPaymentDeleteByUrlParam]
4984
+ # @param [Hash] opts the optional parameters
4985
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
4986
+ # @return [BatchPayments]
4987
+ def delete_batch_payment_by_url_param(xero_tenant_id, batch_payment_id, batch_payment_delete_by_url_param, opts = {})
4988
+ data, _status_code, _headers = delete_batch_payment_by_url_param_with_http_info(xero_tenant_id, batch_payment_id, batch_payment_delete_by_url_param, opts)
4989
+ data
4990
+ end
4991
+
4992
+ # Updates a specific batch payment for invoices and credit notes
4993
+ # @param xero_tenant_id [String] Xero identifier for Tenant
4994
+ # @param batch_payment_id [String] Unique identifier for BatchPayment
4995
+ # @param batch_payment_delete_by_url_param [BatchPaymentDeleteByUrlParam]
4996
+ # @param [Hash] opts the optional parameters
4997
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
4998
+ # @return [Array<(BatchPayments, Integer, Hash)>] BatchPayments data, response status code and response headers
4999
+ def delete_batch_payment_by_url_param_with_http_info(xero_tenant_id, batch_payment_id, batch_payment_delete_by_url_param, options = {})
5000
+ opts = options.dup
5001
+ if @api_client.config.debugging
5002
+ @api_client.config.logger.debug 'Calling API: AccountingApi.delete_batch_payment_by_url_param ...'
5003
+ end
5004
+ # verify the required parameter 'xero_tenant_id' is set
5005
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
5006
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AccountingApi.delete_batch_payment_by_url_param"
5007
+ end
5008
+ # verify the required parameter 'batch_payment_id' is set
5009
+ if @api_client.config.client_side_validation && batch_payment_id.nil?
5010
+ fail ArgumentError, "Missing the required parameter 'batch_payment_id' when calling AccountingApi.delete_batch_payment_by_url_param"
5011
+ end
5012
+ # verify the required parameter 'batch_payment_delete_by_url_param' is set
5013
+ if @api_client.config.client_side_validation && batch_payment_delete_by_url_param.nil?
5014
+ fail ArgumentError, "Missing the required parameter 'batch_payment_delete_by_url_param' when calling AccountingApi.delete_batch_payment_by_url_param"
5015
+ end
5016
+ # resource path
5017
+ local_var_path = '/BatchPayments/{BatchPaymentID}'.sub('{' + 'BatchPaymentID' + '}', batch_payment_id.to_s)
5018
+
5019
+ # camelize keys of incoming `where` opts
5020
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
5021
+
5022
+ # query parameters
5023
+ query_params = opts[:query_params] || {}
5024
+
5025
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
5026
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
5027
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
5028
+
5029
+ # header parameters
5030
+ header_params = opts[:header_params] || {}
5031
+ # HTTP header 'Accept' (if needed)
5032
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
5033
+ # HTTP header 'Content-Type'
5034
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
5035
+ header_params[:'xero-tenant-id'] = xero_tenant_id
5036
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
5037
+
5038
+ # form parameters
5039
+ form_params = opts[:form_params] || {}
5040
+
5041
+ # http body (model)
5042
+ post_body = opts[:body] || @api_client.object_to_http_body(batch_payment_delete_by_url_param)
5043
+
5044
+ # return_type
5045
+ return_type = opts[:return_type] || 'BatchPayments'
5046
+
5047
+ # auth_names
5048
+ auth_names = opts[:auth_names] || ['OAuth2']
5049
+
5050
+ new_options = opts.merge(
5051
+ :header_params => header_params,
5052
+ :query_params => query_params,
5053
+ :form_params => form_params,
5054
+ :body => post_body,
5055
+ :auth_names => auth_names,
5056
+ :return_type => return_type
5057
+ )
5058
+
5059
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, "AccountingApi", new_options)
5060
+ if @api_client.config.debugging
5061
+ @api_client.config.logger.debug "API called: AccountingApi#delete_batch_payment_by_url_param\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
5062
+ end
5063
+ return data, status_code, headers
5064
+ end
5065
+
4652
5066
  # Deletes a specific contact from a contact group using a unique contact Id
4653
5067
  # @param xero_tenant_id [String] Xero identifier for Tenant
4654
5068
  # @param contact_group_id [String] Unique identifier for a Contact Group
@@ -4803,6 +5217,87 @@ module XeroRuby
4803
5217
  return data, status_code, headers
4804
5218
  end
4805
5219
 
5220
+ # Deletes an Allocation from a Credit Note
5221
+ # @param xero_tenant_id [String] Xero identifier for Tenant
5222
+ # @param credit_note_id [String] Unique identifier for a Credit Note
5223
+ # @param allocation_id [String] Unique identifier for Allocation object
5224
+ # @param [Hash] opts the optional parameters
5225
+ # @return [Allocation]
5226
+ def delete_credit_note_allocations(xero_tenant_id, credit_note_id, allocation_id, opts = {})
5227
+ data, _status_code, _headers = delete_credit_note_allocations_with_http_info(xero_tenant_id, credit_note_id, allocation_id, opts)
5228
+ data
5229
+ end
5230
+
5231
+ # Deletes an Allocation from a Credit Note
5232
+ # @param xero_tenant_id [String] Xero identifier for Tenant
5233
+ # @param credit_note_id [String] Unique identifier for a Credit Note
5234
+ # @param allocation_id [String] Unique identifier for Allocation object
5235
+ # @param [Hash] opts the optional parameters
5236
+ # @return [Array<(Allocation, Integer, Hash)>] Allocation data, response status code and response headers
5237
+ def delete_credit_note_allocations_with_http_info(xero_tenant_id, credit_note_id, allocation_id, options = {})
5238
+ opts = options.dup
5239
+ if @api_client.config.debugging
5240
+ @api_client.config.logger.debug 'Calling API: AccountingApi.delete_credit_note_allocations ...'
5241
+ end
5242
+ # verify the required parameter 'xero_tenant_id' is set
5243
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
5244
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AccountingApi.delete_credit_note_allocations"
5245
+ end
5246
+ # verify the required parameter 'credit_note_id' is set
5247
+ if @api_client.config.client_side_validation && credit_note_id.nil?
5248
+ fail ArgumentError, "Missing the required parameter 'credit_note_id' when calling AccountingApi.delete_credit_note_allocations"
5249
+ end
5250
+ # verify the required parameter 'allocation_id' is set
5251
+ if @api_client.config.client_side_validation && allocation_id.nil?
5252
+ fail ArgumentError, "Missing the required parameter 'allocation_id' when calling AccountingApi.delete_credit_note_allocations"
5253
+ end
5254
+ # resource path
5255
+ local_var_path = '/CreditNotes/{CreditNoteID}/Allocations/{AllocationID}'.sub('{' + 'CreditNoteID' + '}', credit_note_id.to_s).sub('{' + 'AllocationID' + '}', allocation_id.to_s)
5256
+
5257
+ # camelize keys of incoming `where` opts
5258
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
5259
+
5260
+ # query parameters
5261
+ query_params = opts[:query_params] || {}
5262
+
5263
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
5264
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
5265
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
5266
+
5267
+ # header parameters
5268
+ header_params = opts[:header_params] || {}
5269
+ # HTTP header 'Accept' (if needed)
5270
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
5271
+ header_params[:'xero-tenant-id'] = xero_tenant_id
5272
+
5273
+ # form parameters
5274
+ form_params = opts[:form_params] || {}
5275
+
5276
+ # http body (model)
5277
+ post_body = opts[:body]
5278
+
5279
+ # return_type
5280
+ return_type = opts[:return_type] || 'Allocation'
5281
+
5282
+ # auth_names
5283
+ auth_names = opts[:auth_names] || ['OAuth2']
5284
+
5285
+ new_options = opts.merge(
5286
+ :header_params => header_params,
5287
+ :query_params => query_params,
5288
+ :form_params => form_params,
5289
+ :body => post_body,
5290
+ :auth_names => auth_names,
5291
+ :return_type => return_type
5292
+ )
5293
+
5294
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, "AccountingApi", new_options)
5295
+ if @api_client.config.debugging
5296
+ @api_client.config.logger.debug "API called: AccountingApi#delete_credit_note_allocations\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
5297
+ end
5298
+ return data, status_code, headers
5299
+ end
5300
+
4806
5301
  # Deletes a specific item
4807
5302
  # @param xero_tenant_id [String] Xero identifier for Tenant
4808
5303
  # @param item_id [String] Unique identifier for an Item
@@ -4953,11 +5448,93 @@ module XeroRuby
4953
5448
  return data, status_code, headers
4954
5449
  end
4955
5450
 
5451
+ # Deletes an Allocation from an overpayment
5452
+ # @param xero_tenant_id [String] Xero identifier for Tenant
5453
+ # @param overpayment_id [String] Unique identifier for a Overpayment
5454
+ # @param allocation_id [String] Unique identifier for Allocation object
5455
+ # @param [Hash] opts the optional parameters
5456
+ # @return [Allocation]
5457
+ def delete_overpayment_allocations(xero_tenant_id, overpayment_id, allocation_id, opts = {})
5458
+ data, _status_code, _headers = delete_overpayment_allocations_with_http_info(xero_tenant_id, overpayment_id, allocation_id, opts)
5459
+ data
5460
+ end
5461
+
5462
+ # Deletes an Allocation from an overpayment
5463
+ # @param xero_tenant_id [String] Xero identifier for Tenant
5464
+ # @param overpayment_id [String] Unique identifier for a Overpayment
5465
+ # @param allocation_id [String] Unique identifier for Allocation object
5466
+ # @param [Hash] opts the optional parameters
5467
+ # @return [Array<(Allocation, Integer, Hash)>] Allocation data, response status code and response headers
5468
+ def delete_overpayment_allocations_with_http_info(xero_tenant_id, overpayment_id, allocation_id, options = {})
5469
+ opts = options.dup
5470
+ if @api_client.config.debugging
5471
+ @api_client.config.logger.debug 'Calling API: AccountingApi.delete_overpayment_allocations ...'
5472
+ end
5473
+ # verify the required parameter 'xero_tenant_id' is set
5474
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
5475
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AccountingApi.delete_overpayment_allocations"
5476
+ end
5477
+ # verify the required parameter 'overpayment_id' is set
5478
+ if @api_client.config.client_side_validation && overpayment_id.nil?
5479
+ fail ArgumentError, "Missing the required parameter 'overpayment_id' when calling AccountingApi.delete_overpayment_allocations"
5480
+ end
5481
+ # verify the required parameter 'allocation_id' is set
5482
+ if @api_client.config.client_side_validation && allocation_id.nil?
5483
+ fail ArgumentError, "Missing the required parameter 'allocation_id' when calling AccountingApi.delete_overpayment_allocations"
5484
+ end
5485
+ # resource path
5486
+ local_var_path = '/Overpayments/{OverpaymentID}/Allocations/{AllocationID}'.sub('{' + 'OverpaymentID' + '}', overpayment_id.to_s).sub('{' + 'AllocationID' + '}', allocation_id.to_s)
5487
+
5488
+ # camelize keys of incoming `where` opts
5489
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
5490
+
5491
+ # query parameters
5492
+ query_params = opts[:query_params] || {}
5493
+
5494
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
5495
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
5496
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
5497
+
5498
+ # header parameters
5499
+ header_params = opts[:header_params] || {}
5500
+ # HTTP header 'Accept' (if needed)
5501
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
5502
+ header_params[:'xero-tenant-id'] = xero_tenant_id
5503
+
5504
+ # form parameters
5505
+ form_params = opts[:form_params] || {}
5506
+
5507
+ # http body (model)
5508
+ post_body = opts[:body]
5509
+
5510
+ # return_type
5511
+ return_type = opts[:return_type] || 'Allocation'
5512
+
5513
+ # auth_names
5514
+ auth_names = opts[:auth_names] || ['OAuth2']
5515
+
5516
+ new_options = opts.merge(
5517
+ :header_params => header_params,
5518
+ :query_params => query_params,
5519
+ :form_params => form_params,
5520
+ :body => post_body,
5521
+ :auth_names => auth_names,
5522
+ :return_type => return_type
5523
+ )
5524
+
5525
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, "AccountingApi", new_options)
5526
+ if @api_client.config.debugging
5527
+ @api_client.config.logger.debug "API called: AccountingApi#delete_overpayment_allocations\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
5528
+ end
5529
+ return data, status_code, headers
5530
+ end
5531
+
4956
5532
  # Updates a specific payment for invoices and credit notes
4957
5533
  # @param xero_tenant_id [String] Xero identifier for Tenant
4958
5534
  # @param payment_id [String] Unique identifier for a Payment
4959
5535
  # @param payment_delete [PaymentDelete]
4960
5536
  # @param [Hash] opts the optional parameters
5537
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
4961
5538
  # @return [Payments]
4962
5539
  def delete_payment(xero_tenant_id, payment_id, payment_delete, opts = {})
4963
5540
  data, _status_code, _headers = delete_payment_with_http_info(xero_tenant_id, payment_id, payment_delete, opts)
@@ -4969,6 +5546,7 @@ module XeroRuby
4969
5546
  # @param payment_id [String] Unique identifier for a Payment
4970
5547
  # @param payment_delete [PaymentDelete]
4971
5548
  # @param [Hash] opts the optional parameters
5549
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
4972
5550
  # @return [Array<(Payments, Integer, Hash)>] Payments data, response status code and response headers
4973
5551
  def delete_payment_with_http_info(xero_tenant_id, payment_id, payment_delete, options = {})
4974
5552
  opts = options.dup
@@ -5007,6 +5585,7 @@ module XeroRuby
5007
5585
  # HTTP header 'Content-Type'
5008
5586
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
5009
5587
  header_params[:'xero-tenant-id'] = xero_tenant_id
5588
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
5010
5589
 
5011
5590
  # form parameters
5012
5591
  form_params = opts[:form_params] || {}
@@ -5036,6 +5615,87 @@ module XeroRuby
5036
5615
  return data, status_code, headers
5037
5616
  end
5038
5617
 
5618
+ # Deletes an Allocation from a Prepayment
5619
+ # @param xero_tenant_id [String] Xero identifier for Tenant
5620
+ # @param prepayment_id [String] Unique identifier for a PrePayment
5621
+ # @param allocation_id [String] Unique identifier for Allocation object
5622
+ # @param [Hash] opts the optional parameters
5623
+ # @return [Allocation]
5624
+ def delete_prepayment_allocations(xero_tenant_id, prepayment_id, allocation_id, opts = {})
5625
+ data, _status_code, _headers = delete_prepayment_allocations_with_http_info(xero_tenant_id, prepayment_id, allocation_id, opts)
5626
+ data
5627
+ end
5628
+
5629
+ # Deletes an Allocation from a Prepayment
5630
+ # @param xero_tenant_id [String] Xero identifier for Tenant
5631
+ # @param prepayment_id [String] Unique identifier for a PrePayment
5632
+ # @param allocation_id [String] Unique identifier for Allocation object
5633
+ # @param [Hash] opts the optional parameters
5634
+ # @return [Array<(Allocation, Integer, Hash)>] Allocation data, response status code and response headers
5635
+ def delete_prepayment_allocations_with_http_info(xero_tenant_id, prepayment_id, allocation_id, options = {})
5636
+ opts = options.dup
5637
+ if @api_client.config.debugging
5638
+ @api_client.config.logger.debug 'Calling API: AccountingApi.delete_prepayment_allocations ...'
5639
+ end
5640
+ # verify the required parameter 'xero_tenant_id' is set
5641
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
5642
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AccountingApi.delete_prepayment_allocations"
5643
+ end
5644
+ # verify the required parameter 'prepayment_id' is set
5645
+ if @api_client.config.client_side_validation && prepayment_id.nil?
5646
+ fail ArgumentError, "Missing the required parameter 'prepayment_id' when calling AccountingApi.delete_prepayment_allocations"
5647
+ end
5648
+ # verify the required parameter 'allocation_id' is set
5649
+ if @api_client.config.client_side_validation && allocation_id.nil?
5650
+ fail ArgumentError, "Missing the required parameter 'allocation_id' when calling AccountingApi.delete_prepayment_allocations"
5651
+ end
5652
+ # resource path
5653
+ local_var_path = '/Prepayments/{PrepaymentID}/Allocations/{AllocationID}'.sub('{' + 'PrepaymentID' + '}', prepayment_id.to_s).sub('{' + 'AllocationID' + '}', allocation_id.to_s)
5654
+
5655
+ # camelize keys of incoming `where` opts
5656
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
5657
+
5658
+ # query parameters
5659
+ query_params = opts[:query_params] || {}
5660
+
5661
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
5662
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
5663
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
5664
+
5665
+ # header parameters
5666
+ header_params = opts[:header_params] || {}
5667
+ # HTTP header 'Accept' (if needed)
5668
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
5669
+ header_params[:'xero-tenant-id'] = xero_tenant_id
5670
+
5671
+ # form parameters
5672
+ form_params = opts[:form_params] || {}
5673
+
5674
+ # http body (model)
5675
+ post_body = opts[:body]
5676
+
5677
+ # return_type
5678
+ return_type = opts[:return_type] || 'Allocation'
5679
+
5680
+ # auth_names
5681
+ auth_names = opts[:auth_names] || ['OAuth2']
5682
+
5683
+ new_options = opts.merge(
5684
+ :header_params => header_params,
5685
+ :query_params => query_params,
5686
+ :form_params => form_params,
5687
+ :body => post_body,
5688
+ :auth_names => auth_names,
5689
+ :return_type => return_type
5690
+ )
5691
+
5692
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, "AccountingApi", new_options)
5693
+ if @api_client.config.debugging
5694
+ @api_client.config.logger.debug "API called: AccountingApi#delete_prepayment_allocations\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
5695
+ end
5696
+ return data, status_code, headers
5697
+ end
5698
+
5039
5699
  # Deletes a specific tracking category
5040
5700
  # @param xero_tenant_id [String] Xero identifier for Tenant
5041
5701
  # @param tracking_category_id [String] Unique identifier for a TrackingCategory
@@ -5197,6 +5857,7 @@ module XeroRuby
5197
5857
  # @param invoice_id [String] Unique identifier for an Invoice
5198
5858
  # @param request_empty [RequestEmpty]
5199
5859
  # @param [Hash] opts the optional parameters
5860
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
5200
5861
  # @return [nil]
5201
5862
  def email_invoice(xero_tenant_id, invoice_id, request_empty, opts = {})
5202
5863
  email_invoice_with_http_info(xero_tenant_id, invoice_id, request_empty, opts)
@@ -5208,6 +5869,7 @@ module XeroRuby
5208
5869
  # @param invoice_id [String] Unique identifier for an Invoice
5209
5870
  # @param request_empty [RequestEmpty]
5210
5871
  # @param [Hash] opts the optional parameters
5872
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
5211
5873
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
5212
5874
  def email_invoice_with_http_info(xero_tenant_id, invoice_id, request_empty, options = {})
5213
5875
  opts = options.dup
@@ -5246,6 +5908,7 @@ module XeroRuby
5246
5908
  # HTTP header 'Content-Type'
5247
5909
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
5248
5910
  header_params[:'xero-tenant-id'] = xero_tenant_id
5911
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
5249
5912
 
5250
5913
  # form parameters
5251
5914
  form_params = opts[:form_params] || {}
@@ -6503,32 +7166,109 @@ module XeroRuby
6503
7166
  data
6504
7167
  end
6505
7168
 
6506
- # Retrieves history from a specific bank transfer using a unique bank transfer Id
7169
+ # Retrieves history from a specific bank transfer using a unique bank transfer Id
7170
+ # @param xero_tenant_id [String] Xero identifier for Tenant
7171
+ # @param bank_transfer_id [String] Xero generated unique identifier for a bank transfer
7172
+ # @param [Hash] opts the optional parameters
7173
+ # @return [Array<(HistoryRecords, Integer, Hash)>] HistoryRecords data, response status code and response headers
7174
+ def get_bank_transfer_history_with_http_info(xero_tenant_id, bank_transfer_id, options = {})
7175
+ opts = options.dup
7176
+ if @api_client.config.debugging
7177
+ @api_client.config.logger.debug 'Calling API: AccountingApi.get_bank_transfer_history ...'
7178
+ end
7179
+ # verify the required parameter 'xero_tenant_id' is set
7180
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
7181
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AccountingApi.get_bank_transfer_history"
7182
+ end
7183
+ # verify the required parameter 'bank_transfer_id' is set
7184
+ if @api_client.config.client_side_validation && bank_transfer_id.nil?
7185
+ fail ArgumentError, "Missing the required parameter 'bank_transfer_id' when calling AccountingApi.get_bank_transfer_history"
7186
+ end
7187
+ # resource path
7188
+ local_var_path = '/BankTransfers/{BankTransferID}/History'.sub('{' + 'BankTransferID' + '}', bank_transfer_id.to_s)
7189
+
7190
+ # camelize keys of incoming `where` opts
7191
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
7192
+
7193
+ # query parameters
7194
+ query_params = opts[:query_params] || {}
7195
+
7196
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
7197
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
7198
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
7199
+
7200
+ # header parameters
7201
+ header_params = opts[:header_params] || {}
7202
+ # HTTP header 'Accept' (if needed)
7203
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
7204
+ header_params[:'xero-tenant-id'] = xero_tenant_id
7205
+
7206
+ # form parameters
7207
+ form_params = opts[:form_params] || {}
7208
+
7209
+ # http body (model)
7210
+ post_body = opts[:body]
7211
+
7212
+ # return_type
7213
+ return_type = opts[:return_type] || 'HistoryRecords'
7214
+
7215
+ # auth_names
7216
+ auth_names = opts[:auth_names] || ['OAuth2']
7217
+
7218
+ new_options = opts.merge(
7219
+ :header_params => header_params,
7220
+ :query_params => query_params,
7221
+ :form_params => form_params,
7222
+ :body => post_body,
7223
+ :auth_names => auth_names,
7224
+ :return_type => return_type
7225
+ )
7226
+
7227
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, "AccountingApi", new_options)
7228
+ if @api_client.config.debugging
7229
+ @api_client.config.logger.debug "API called: AccountingApi#get_bank_transfer_history\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
7230
+ end
7231
+ return data, status_code, headers
7232
+ end
7233
+
7234
+ # Retrieves all bank transfers
7235
+ # @param xero_tenant_id [String] Xero identifier for Tenant
7236
+ # @param [Hash] opts the optional parameters
7237
+ # @option opts [DateTime] :if_modified_since Only records created or modified since this timestamp will be returned
7238
+ # @option opts [String] :where Filter by an any element
7239
+ # @option opts [String] :order Order by an any element
7240
+ # @return [BankTransfers]
7241
+ def get_bank_transfers(xero_tenant_id, opts = {})
7242
+ data, _status_code, _headers = get_bank_transfers_with_http_info(xero_tenant_id, opts)
7243
+ data
7244
+ end
7245
+
7246
+ # Retrieves all bank transfers
6507
7247
  # @param xero_tenant_id [String] Xero identifier for Tenant
6508
- # @param bank_transfer_id [String] Xero generated unique identifier for a bank transfer
6509
7248
  # @param [Hash] opts the optional parameters
6510
- # @return [Array<(HistoryRecords, Integer, Hash)>] HistoryRecords data, response status code and response headers
6511
- def get_bank_transfer_history_with_http_info(xero_tenant_id, bank_transfer_id, options = {})
7249
+ # @option opts [DateTime] :if_modified_since Only records created or modified since this timestamp will be returned
7250
+ # @option opts [String] :where Filter by an any element
7251
+ # @option opts [String] :order Order by an any element
7252
+ # @return [Array<(BankTransfers, Integer, Hash)>] BankTransfers data, response status code and response headers
7253
+ def get_bank_transfers_with_http_info(xero_tenant_id, options = {})
6512
7254
  opts = options.dup
6513
7255
  if @api_client.config.debugging
6514
- @api_client.config.logger.debug 'Calling API: AccountingApi.get_bank_transfer_history ...'
7256
+ @api_client.config.logger.debug 'Calling API: AccountingApi.get_bank_transfers ...'
6515
7257
  end
6516
7258
  # verify the required parameter 'xero_tenant_id' is set
6517
7259
  if @api_client.config.client_side_validation && xero_tenant_id.nil?
6518
- fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AccountingApi.get_bank_transfer_history"
6519
- end
6520
- # verify the required parameter 'bank_transfer_id' is set
6521
- if @api_client.config.client_side_validation && bank_transfer_id.nil?
6522
- fail ArgumentError, "Missing the required parameter 'bank_transfer_id' when calling AccountingApi.get_bank_transfer_history"
7260
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AccountingApi.get_bank_transfers"
6523
7261
  end
6524
7262
  # resource path
6525
- local_var_path = '/BankTransfers/{BankTransferID}/History'.sub('{' + 'BankTransferID' + '}', bank_transfer_id.to_s)
7263
+ local_var_path = '/BankTransfers'
6526
7264
 
6527
7265
  # camelize keys of incoming `where` opts
6528
7266
  opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
6529
7267
 
6530
7268
  # query parameters
6531
7269
  query_params = opts[:query_params] || {}
7270
+ query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
7271
+ query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
6532
7272
 
6533
7273
  # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
6534
7274
  query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
@@ -6539,6 +7279,7 @@ module XeroRuby
6539
7279
  # HTTP header 'Accept' (if needed)
6540
7280
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
6541
7281
  header_params[:'xero-tenant-id'] = xero_tenant_id
7282
+ header_params[:'If-Modified-Since'] = opts[:'if_modified_since'] if !opts[:'if_modified_since'].nil?
6542
7283
 
6543
7284
  # form parameters
6544
7285
  form_params = opts[:form_params] || {}
@@ -6547,7 +7288,7 @@ module XeroRuby
6547
7288
  post_body = opts[:body]
6548
7289
 
6549
7290
  # return_type
6550
- return_type = opts[:return_type] || 'HistoryRecords'
7291
+ return_type = opts[:return_type] || 'BankTransfers'
6551
7292
 
6552
7293
  # auth_names
6553
7294
  auth_names = opts[:auth_names] || ['OAuth2']
@@ -6563,49 +7304,47 @@ module XeroRuby
6563
7304
 
6564
7305
  data, status_code, headers = @api_client.call_api(:GET, local_var_path, "AccountingApi", new_options)
6565
7306
  if @api_client.config.debugging
6566
- @api_client.config.logger.debug "API called: AccountingApi#get_bank_transfer_history\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
7307
+ @api_client.config.logger.debug "API called: AccountingApi#get_bank_transfers\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
6567
7308
  end
6568
7309
  return data, status_code, headers
6569
7310
  end
6570
7311
 
6571
- # Retrieves all bank transfers
7312
+ # Retrieves a specific batch payment using a unique batch payment Id
6572
7313
  # @param xero_tenant_id [String] Xero identifier for Tenant
7314
+ # @param batch_payment_id [String] Unique identifier for BatchPayment
6573
7315
  # @param [Hash] opts the optional parameters
6574
- # @option opts [DateTime] :if_modified_since Only records created or modified since this timestamp will be returned
6575
- # @option opts [String] :where Filter by an any element
6576
- # @option opts [String] :order Order by an any element
6577
- # @return [BankTransfers]
6578
- def get_bank_transfers(xero_tenant_id, opts = {})
6579
- data, _status_code, _headers = get_bank_transfers_with_http_info(xero_tenant_id, opts)
7316
+ # @return [BatchPayments]
7317
+ def get_batch_payment(xero_tenant_id, batch_payment_id, opts = {})
7318
+ data, _status_code, _headers = get_batch_payment_with_http_info(xero_tenant_id, batch_payment_id, opts)
6580
7319
  data
6581
7320
  end
6582
7321
 
6583
- # Retrieves all bank transfers
7322
+ # Retrieves a specific batch payment using a unique batch payment Id
6584
7323
  # @param xero_tenant_id [String] Xero identifier for Tenant
7324
+ # @param batch_payment_id [String] Unique identifier for BatchPayment
6585
7325
  # @param [Hash] opts the optional parameters
6586
- # @option opts [DateTime] :if_modified_since Only records created or modified since this timestamp will be returned
6587
- # @option opts [String] :where Filter by an any element
6588
- # @option opts [String] :order Order by an any element
6589
- # @return [Array<(BankTransfers, Integer, Hash)>] BankTransfers data, response status code and response headers
6590
- def get_bank_transfers_with_http_info(xero_tenant_id, options = {})
7326
+ # @return [Array<(BatchPayments, Integer, Hash)>] BatchPayments data, response status code and response headers
7327
+ def get_batch_payment_with_http_info(xero_tenant_id, batch_payment_id, options = {})
6591
7328
  opts = options.dup
6592
7329
  if @api_client.config.debugging
6593
- @api_client.config.logger.debug 'Calling API: AccountingApi.get_bank_transfers ...'
7330
+ @api_client.config.logger.debug 'Calling API: AccountingApi.get_batch_payment ...'
6594
7331
  end
6595
7332
  # verify the required parameter 'xero_tenant_id' is set
6596
7333
  if @api_client.config.client_side_validation && xero_tenant_id.nil?
6597
- fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AccountingApi.get_bank_transfers"
7334
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AccountingApi.get_batch_payment"
7335
+ end
7336
+ # verify the required parameter 'batch_payment_id' is set
7337
+ if @api_client.config.client_side_validation && batch_payment_id.nil?
7338
+ fail ArgumentError, "Missing the required parameter 'batch_payment_id' when calling AccountingApi.get_batch_payment"
6598
7339
  end
6599
7340
  # resource path
6600
- local_var_path = '/BankTransfers'
7341
+ local_var_path = '/BatchPayments/{BatchPaymentID}'.sub('{' + 'BatchPaymentID' + '}', batch_payment_id.to_s)
6601
7342
 
6602
7343
  # camelize keys of incoming `where` opts
6603
7344
  opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
6604
7345
 
6605
7346
  # query parameters
6606
7347
  query_params = opts[:query_params] || {}
6607
- query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
6608
- query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
6609
7348
 
6610
7349
  # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
6611
7350
  query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
@@ -6616,7 +7355,6 @@ module XeroRuby
6616
7355
  # HTTP header 'Accept' (if needed)
6617
7356
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
6618
7357
  header_params[:'xero-tenant-id'] = xero_tenant_id
6619
- header_params[:'If-Modified-Since'] = opts[:'if_modified_since'] if !opts[:'if_modified_since'].nil?
6620
7358
 
6621
7359
  # form parameters
6622
7360
  form_params = opts[:form_params] || {}
@@ -6625,7 +7363,7 @@ module XeroRuby
6625
7363
  post_body = opts[:body]
6626
7364
 
6627
7365
  # return_type
6628
- return_type = opts[:return_type] || 'BankTransfers'
7366
+ return_type = opts[:return_type] || 'BatchPayments'
6629
7367
 
6630
7368
  # auth_names
6631
7369
  auth_names = opts[:auth_names] || ['OAuth2']
@@ -6641,7 +7379,7 @@ module XeroRuby
6641
7379
 
6642
7380
  data, status_code, headers = @api_client.call_api(:GET, local_var_path, "AccountingApi", new_options)
6643
7381
  if @api_client.config.debugging
6644
- @api_client.config.logger.debug "API called: AccountingApi#get_bank_transfers\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
7382
+ @api_client.config.logger.debug "API called: AccountingApi#get_batch_payment\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
6645
7383
  end
6646
7384
  return data, status_code, headers
6647
7385
  end
@@ -14866,12 +15604,86 @@ module XeroRuby
14866
15604
  return data, status_code, headers
14867
15605
  end
14868
15606
 
15607
+ # Retrieves a specific tax rate according to given TaxType code
15608
+ # @param xero_tenant_id [String] Xero identifier for Tenant
15609
+ # @param tax_type [String] A valid TaxType code
15610
+ # @param [Hash] opts the optional parameters
15611
+ # @return [TaxRates]
15612
+ def get_tax_rate_by_tax_type(xero_tenant_id, tax_type, opts = {})
15613
+ data, _status_code, _headers = get_tax_rate_by_tax_type_with_http_info(xero_tenant_id, tax_type, opts)
15614
+ data
15615
+ end
15616
+
15617
+ # Retrieves a specific tax rate according to given TaxType code
15618
+ # @param xero_tenant_id [String] Xero identifier for Tenant
15619
+ # @param tax_type [String] A valid TaxType code
15620
+ # @param [Hash] opts the optional parameters
15621
+ # @return [Array<(TaxRates, Integer, Hash)>] TaxRates data, response status code and response headers
15622
+ def get_tax_rate_by_tax_type_with_http_info(xero_tenant_id, tax_type, options = {})
15623
+ opts = options.dup
15624
+ if @api_client.config.debugging
15625
+ @api_client.config.logger.debug 'Calling API: AccountingApi.get_tax_rate_by_tax_type ...'
15626
+ end
15627
+ # verify the required parameter 'xero_tenant_id' is set
15628
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
15629
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AccountingApi.get_tax_rate_by_tax_type"
15630
+ end
15631
+ # verify the required parameter 'tax_type' is set
15632
+ if @api_client.config.client_side_validation && tax_type.nil?
15633
+ fail ArgumentError, "Missing the required parameter 'tax_type' when calling AccountingApi.get_tax_rate_by_tax_type"
15634
+ end
15635
+ # resource path
15636
+ local_var_path = '/TaxRates/{TaxType}'.sub('{' + 'TaxType' + '}', tax_type.to_s)
15637
+
15638
+ # camelize keys of incoming `where` opts
15639
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
15640
+
15641
+ # query parameters
15642
+ query_params = opts[:query_params] || {}
15643
+
15644
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
15645
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
15646
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
15647
+
15648
+ # header parameters
15649
+ header_params = opts[:header_params] || {}
15650
+ # HTTP header 'Accept' (if needed)
15651
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
15652
+ header_params[:'xero-tenant-id'] = xero_tenant_id
15653
+
15654
+ # form parameters
15655
+ form_params = opts[:form_params] || {}
15656
+
15657
+ # http body (model)
15658
+ post_body = opts[:body]
15659
+
15660
+ # return_type
15661
+ return_type = opts[:return_type] || 'TaxRates'
15662
+
15663
+ # auth_names
15664
+ auth_names = opts[:auth_names] || ['OAuth2']
15665
+
15666
+ new_options = opts.merge(
15667
+ :header_params => header_params,
15668
+ :query_params => query_params,
15669
+ :form_params => form_params,
15670
+ :body => post_body,
15671
+ :auth_names => auth_names,
15672
+ :return_type => return_type
15673
+ )
15674
+
15675
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, "AccountingApi", new_options)
15676
+ if @api_client.config.debugging
15677
+ @api_client.config.logger.debug "API called: AccountingApi#get_tax_rate_by_tax_type\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
15678
+ end
15679
+ return data, status_code, headers
15680
+ end
15681
+
14869
15682
  # Retrieves tax rates
14870
15683
  # @param xero_tenant_id [String] Xero identifier for Tenant
14871
15684
  # @param [Hash] opts the optional parameters
14872
15685
  # @option opts [String] :where Filter by an any element
14873
15686
  # @option opts [String] :order Order by an any element
14874
- # @option opts [String] :tax_type Filter by tax type
14875
15687
  # @return [TaxRates]
14876
15688
  def get_tax_rates(xero_tenant_id, opts = {})
14877
15689
  data, _status_code, _headers = get_tax_rates_with_http_info(xero_tenant_id, opts)
@@ -14883,7 +15695,6 @@ module XeroRuby
14883
15695
  # @param [Hash] opts the optional parameters
14884
15696
  # @option opts [String] :where Filter by an any element
14885
15697
  # @option opts [String] :order Order by an any element
14886
- # @option opts [String] :tax_type Filter by tax type
14887
15698
  # @return [Array<(TaxRates, Integer, Hash)>] TaxRates data, response status code and response headers
14888
15699
  def get_tax_rates_with_http_info(xero_tenant_id, options = {})
14889
15700
  opts = options.dup
@@ -14904,7 +15715,6 @@ module XeroRuby
14904
15715
  query_params = opts[:query_params] || {}
14905
15716
  query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
14906
15717
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
14907
- query_params[:'TaxType'] = opts[:'tax_type'] if !opts[:'tax_type'].nil?
14908
15718
 
14909
15719
  # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
14910
15720
  query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
@@ -15254,6 +16064,7 @@ module XeroRuby
15254
16064
  # @param xero_tenant_id [String] Xero identifier for Tenant
15255
16065
  # @param setup [Setup] Object including an accounts array, a conversion balances array and a conversion date object in body of request
15256
16066
  # @param [Hash] opts the optional parameters
16067
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
15257
16068
  # @return [ImportSummaryObject]
15258
16069
  def post_setup(xero_tenant_id, setup, opts = {})
15259
16070
  data, _status_code, _headers = post_setup_with_http_info(xero_tenant_id, setup, opts)
@@ -15264,6 +16075,7 @@ module XeroRuby
15264
16075
  # @param xero_tenant_id [String] Xero identifier for Tenant
15265
16076
  # @param setup [Setup] Object including an accounts array, a conversion balances array and a conversion date object in body of request
15266
16077
  # @param [Hash] opts the optional parameters
16078
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
15267
16079
  # @return [Array<(ImportSummaryObject, Integer, Hash)>] ImportSummaryObject data, response status code and response headers
15268
16080
  def post_setup_with_http_info(xero_tenant_id, setup, options = {})
15269
16081
  opts = options.dup
@@ -15298,6 +16110,7 @@ module XeroRuby
15298
16110
  # HTTP header 'Content-Type'
15299
16111
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
15300
16112
  header_params[:'xero-tenant-id'] = xero_tenant_id
16113
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
15301
16114
 
15302
16115
  # form parameters
15303
16116
  form_params = opts[:form_params] || {}
@@ -15332,6 +16145,7 @@ module XeroRuby
15332
16145
  # @param account_id [String] Unique identifier for Account object
15333
16146
  # @param accounts [Accounts] Request of type Accounts array with one Account
15334
16147
  # @param [Hash] opts the optional parameters
16148
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
15335
16149
  # @return [Accounts]
15336
16150
  def update_account(xero_tenant_id, account_id, accounts, opts = {})
15337
16151
  data, _status_code, _headers = update_account_with_http_info(xero_tenant_id, account_id, accounts, opts)
@@ -15343,6 +16157,7 @@ module XeroRuby
15343
16157
  # @param account_id [String] Unique identifier for Account object
15344
16158
  # @param accounts [Accounts] Request of type Accounts array with one Account
15345
16159
  # @param [Hash] opts the optional parameters
16160
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
15346
16161
  # @return [Array<(Accounts, Integer, Hash)>] Accounts data, response status code and response headers
15347
16162
  def update_account_with_http_info(xero_tenant_id, account_id, accounts, options = {})
15348
16163
  opts = options.dup
@@ -15381,6 +16196,7 @@ module XeroRuby
15381
16196
  # HTTP header 'Content-Type'
15382
16197
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
15383
16198
  header_params[:'xero-tenant-id'] = xero_tenant_id
16199
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
15384
16200
 
15385
16201
  # form parameters
15386
16202
  form_params = opts[:form_params] || {}
@@ -15416,6 +16232,7 @@ module XeroRuby
15416
16232
  # @param file_name [String] Name of the attachment
15417
16233
  # @param body [String] Byte array of file in body of request
15418
16234
  # @param [Hash] opts the optional parameters
16235
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
15419
16236
  # @return [Attachments]
15420
16237
  def update_account_attachment_by_file_name(xero_tenant_id, account_id, file_name, body, opts = {})
15421
16238
  data, _status_code, _headers = update_account_attachment_by_file_name_with_http_info(xero_tenant_id, account_id, file_name, body, opts)
@@ -15428,6 +16245,7 @@ module XeroRuby
15428
16245
  # @param file_name [String] Name of the attachment
15429
16246
  # @param body [String] Byte array of file in body of request
15430
16247
  # @param [Hash] opts the optional parameters
16248
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
15431
16249
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
15432
16250
  def update_account_attachment_by_file_name_with_http_info(xero_tenant_id, account_id, file_name, body, options = {})
15433
16251
  opts = options.dup
@@ -15470,6 +16288,7 @@ module XeroRuby
15470
16288
  # HTTP header 'Content-Type'
15471
16289
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/octet-stream'])
15472
16290
  header_params[:'xero-tenant-id'] = xero_tenant_id
16291
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
15473
16292
 
15474
16293
  # form parameters
15475
16294
  form_params = opts[:form_params] || {}
@@ -15505,6 +16324,7 @@ module XeroRuby
15505
16324
  # @param bank_transactions [BankTransactions]
15506
16325
  # @param [Hash] opts the optional parameters
15507
16326
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
16327
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
15508
16328
  # @return [BankTransactions]
15509
16329
  def update_bank_transaction(xero_tenant_id, bank_transaction_id, bank_transactions, opts = {})
15510
16330
  data, _status_code, _headers = update_bank_transaction_with_http_info(xero_tenant_id, bank_transaction_id, bank_transactions, opts)
@@ -15517,6 +16337,7 @@ module XeroRuby
15517
16337
  # @param bank_transactions [BankTransactions]
15518
16338
  # @param [Hash] opts the optional parameters
15519
16339
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
16340
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
15520
16341
  # @return [Array<(BankTransactions, Integer, Hash)>] BankTransactions data, response status code and response headers
15521
16342
  def update_bank_transaction_with_http_info(xero_tenant_id, bank_transaction_id, bank_transactions, options = {})
15522
16343
  opts = options.dup
@@ -15556,6 +16377,7 @@ module XeroRuby
15556
16377
  # HTTP header 'Content-Type'
15557
16378
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
15558
16379
  header_params[:'xero-tenant-id'] = xero_tenant_id
16380
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
15559
16381
 
15560
16382
  # form parameters
15561
16383
  form_params = opts[:form_params] || {}
@@ -15591,6 +16413,7 @@ module XeroRuby
15591
16413
  # @param file_name [String] Name of the attachment
15592
16414
  # @param body [String] Byte array of file in body of request
15593
16415
  # @param [Hash] opts the optional parameters
16416
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
15594
16417
  # @return [Attachments]
15595
16418
  def update_bank_transaction_attachment_by_file_name(xero_tenant_id, bank_transaction_id, file_name, body, opts = {})
15596
16419
  data, _status_code, _headers = update_bank_transaction_attachment_by_file_name_with_http_info(xero_tenant_id, bank_transaction_id, file_name, body, opts)
@@ -15603,6 +16426,7 @@ module XeroRuby
15603
16426
  # @param file_name [String] Name of the attachment
15604
16427
  # @param body [String] Byte array of file in body of request
15605
16428
  # @param [Hash] opts the optional parameters
16429
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
15606
16430
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
15607
16431
  def update_bank_transaction_attachment_by_file_name_with_http_info(xero_tenant_id, bank_transaction_id, file_name, body, options = {})
15608
16432
  opts = options.dup
@@ -15645,6 +16469,7 @@ module XeroRuby
15645
16469
  # HTTP header 'Content-Type'
15646
16470
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/octet-stream'])
15647
16471
  header_params[:'xero-tenant-id'] = xero_tenant_id
16472
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
15648
16473
 
15649
16474
  # form parameters
15650
16475
  form_params = opts[:form_params] || {}
@@ -15679,6 +16504,7 @@ module XeroRuby
15679
16504
  # @param file_name [String] Name of the attachment
15680
16505
  # @param body [String] Byte array of file in body of request
15681
16506
  # @param [Hash] opts the optional parameters
16507
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
15682
16508
  # @return [Attachments]
15683
16509
  def update_bank_transfer_attachment_by_file_name(xero_tenant_id, bank_transfer_id, file_name, body, opts = {})
15684
16510
  data, _status_code, _headers = update_bank_transfer_attachment_by_file_name_with_http_info(xero_tenant_id, bank_transfer_id, file_name, body, opts)
@@ -15690,6 +16516,7 @@ module XeroRuby
15690
16516
  # @param file_name [String] Name of the attachment
15691
16517
  # @param body [String] Byte array of file in body of request
15692
16518
  # @param [Hash] opts the optional parameters
16519
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
15693
16520
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
15694
16521
  def update_bank_transfer_attachment_by_file_name_with_http_info(xero_tenant_id, bank_transfer_id, file_name, body, options = {})
15695
16522
  opts = options.dup
@@ -15732,6 +16559,7 @@ module XeroRuby
15732
16559
  # HTTP header 'Content-Type'
15733
16560
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/octet-stream'])
15734
16561
  header_params[:'xero-tenant-id'] = xero_tenant_id
16562
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
15735
16563
 
15736
16564
  # form parameters
15737
16565
  form_params = opts[:form_params] || {}
@@ -15766,6 +16594,7 @@ module XeroRuby
15766
16594
  # @param contact_id [String] Unique identifier for a Contact
15767
16595
  # @param contacts [Contacts] an array of Contacts containing single Contact object with properties to update
15768
16596
  # @param [Hash] opts the optional parameters
16597
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
15769
16598
  # @return [Contacts]
15770
16599
  def update_contact(xero_tenant_id, contact_id, contacts, opts = {})
15771
16600
  data, _status_code, _headers = update_contact_with_http_info(xero_tenant_id, contact_id, contacts, opts)
@@ -15777,6 +16606,7 @@ module XeroRuby
15777
16606
  # @param contact_id [String] Unique identifier for a Contact
15778
16607
  # @param contacts [Contacts] an array of Contacts containing single Contact object with properties to update
15779
16608
  # @param [Hash] opts the optional parameters
16609
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
15780
16610
  # @return [Array<(Contacts, Integer, Hash)>] Contacts data, response status code and response headers
15781
16611
  def update_contact_with_http_info(xero_tenant_id, contact_id, contacts, options = {})
15782
16612
  opts = options.dup
@@ -15815,6 +16645,7 @@ module XeroRuby
15815
16645
  # HTTP header 'Content-Type'
15816
16646
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
15817
16647
  header_params[:'xero-tenant-id'] = xero_tenant_id
16648
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
15818
16649
 
15819
16650
  # form parameters
15820
16651
  form_params = opts[:form_params] || {}
@@ -15849,6 +16680,7 @@ module XeroRuby
15849
16680
  # @param file_name [String] Name of the attachment
15850
16681
  # @param body [String] Byte array of file in body of request
15851
16682
  # @param [Hash] opts the optional parameters
16683
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
15852
16684
  # @return [Attachments]
15853
16685
  def update_contact_attachment_by_file_name(xero_tenant_id, contact_id, file_name, body, opts = {})
15854
16686
  data, _status_code, _headers = update_contact_attachment_by_file_name_with_http_info(xero_tenant_id, contact_id, file_name, body, opts)
@@ -15860,6 +16692,7 @@ module XeroRuby
15860
16692
  # @param file_name [String] Name of the attachment
15861
16693
  # @param body [String] Byte array of file in body of request
15862
16694
  # @param [Hash] opts the optional parameters
16695
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
15863
16696
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
15864
16697
  def update_contact_attachment_by_file_name_with_http_info(xero_tenant_id, contact_id, file_name, body, options = {})
15865
16698
  opts = options.dup
@@ -15902,6 +16735,7 @@ module XeroRuby
15902
16735
  # HTTP header 'Content-Type'
15903
16736
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/octet-stream'])
15904
16737
  header_params[:'xero-tenant-id'] = xero_tenant_id
16738
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
15905
16739
 
15906
16740
  # form parameters
15907
16741
  form_params = opts[:form_params] || {}
@@ -15936,6 +16770,7 @@ module XeroRuby
15936
16770
  # @param contact_group_id [String] Unique identifier for a Contact Group
15937
16771
  # @param contact_groups [ContactGroups] an array of Contact groups with Name of specific group to update
15938
16772
  # @param [Hash] opts the optional parameters
16773
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
15939
16774
  # @return [ContactGroups]
15940
16775
  def update_contact_group(xero_tenant_id, contact_group_id, contact_groups, opts = {})
15941
16776
  data, _status_code, _headers = update_contact_group_with_http_info(xero_tenant_id, contact_group_id, contact_groups, opts)
@@ -15947,6 +16782,7 @@ module XeroRuby
15947
16782
  # @param contact_group_id [String] Unique identifier for a Contact Group
15948
16783
  # @param contact_groups [ContactGroups] an array of Contact groups with Name of specific group to update
15949
16784
  # @param [Hash] opts the optional parameters
16785
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
15950
16786
  # @return [Array<(ContactGroups, Integer, Hash)>] ContactGroups data, response status code and response headers
15951
16787
  def update_contact_group_with_http_info(xero_tenant_id, contact_group_id, contact_groups, options = {})
15952
16788
  opts = options.dup
@@ -15985,6 +16821,7 @@ module XeroRuby
15985
16821
  # HTTP header 'Content-Type'
15986
16822
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
15987
16823
  header_params[:'xero-tenant-id'] = xero_tenant_id
16824
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
15988
16825
 
15989
16826
  # form parameters
15990
16827
  form_params = opts[:form_params] || {}
@@ -16020,6 +16857,7 @@ module XeroRuby
16020
16857
  # @param credit_notes [CreditNotes] an array of Credit Notes containing credit note details to update
16021
16858
  # @param [Hash] opts the optional parameters
16022
16859
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
16860
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16023
16861
  # @return [CreditNotes]
16024
16862
  def update_credit_note(xero_tenant_id, credit_note_id, credit_notes, opts = {})
16025
16863
  data, _status_code, _headers = update_credit_note_with_http_info(xero_tenant_id, credit_note_id, credit_notes, opts)
@@ -16032,6 +16870,7 @@ module XeroRuby
16032
16870
  # @param credit_notes [CreditNotes] an array of Credit Notes containing credit note details to update
16033
16871
  # @param [Hash] opts the optional parameters
16034
16872
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
16873
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16035
16874
  # @return [Array<(CreditNotes, Integer, Hash)>] CreditNotes data, response status code and response headers
16036
16875
  def update_credit_note_with_http_info(xero_tenant_id, credit_note_id, credit_notes, options = {})
16037
16876
  opts = options.dup
@@ -16071,6 +16910,7 @@ module XeroRuby
16071
16910
  # HTTP header 'Content-Type'
16072
16911
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
16073
16912
  header_params[:'xero-tenant-id'] = xero_tenant_id
16913
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
16074
16914
 
16075
16915
  # form parameters
16076
16916
  form_params = opts[:form_params] || {}
@@ -16106,6 +16946,7 @@ module XeroRuby
16106
16946
  # @param file_name [String] Name of the attachment
16107
16947
  # @param body [String] Byte array of file in body of request
16108
16948
  # @param [Hash] opts the optional parameters
16949
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16109
16950
  # @return [Attachments]
16110
16951
  def update_credit_note_attachment_by_file_name(xero_tenant_id, credit_note_id, file_name, body, opts = {})
16111
16952
  data, _status_code, _headers = update_credit_note_attachment_by_file_name_with_http_info(xero_tenant_id, credit_note_id, file_name, body, opts)
@@ -16118,6 +16959,7 @@ module XeroRuby
16118
16959
  # @param file_name [String] Name of the attachment
16119
16960
  # @param body [String] Byte array of file in body of request
16120
16961
  # @param [Hash] opts the optional parameters
16962
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16121
16963
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
16122
16964
  def update_credit_note_attachment_by_file_name_with_http_info(xero_tenant_id, credit_note_id, file_name, body, options = {})
16123
16965
  opts = options.dup
@@ -16160,6 +17002,7 @@ module XeroRuby
16160
17002
  # HTTP header 'Content-Type'
16161
17003
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/octet-stream'])
16162
17004
  header_params[:'xero-tenant-id'] = xero_tenant_id
17005
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
16163
17006
 
16164
17007
  # form parameters
16165
17008
  form_params = opts[:form_params] || {}
@@ -16194,6 +17037,7 @@ module XeroRuby
16194
17037
  # @param expense_claim_id [String] Unique identifier for a ExpenseClaim
16195
17038
  # @param expense_claims [ExpenseClaims]
16196
17039
  # @param [Hash] opts the optional parameters
17040
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16197
17041
  # @return [ExpenseClaims]
16198
17042
  def update_expense_claim(xero_tenant_id, expense_claim_id, expense_claims, opts = {})
16199
17043
  data, _status_code, _headers = update_expense_claim_with_http_info(xero_tenant_id, expense_claim_id, expense_claims, opts)
@@ -16205,6 +17049,7 @@ module XeroRuby
16205
17049
  # @param expense_claim_id [String] Unique identifier for a ExpenseClaim
16206
17050
  # @param expense_claims [ExpenseClaims]
16207
17051
  # @param [Hash] opts the optional parameters
17052
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16208
17053
  # @return [Array<(ExpenseClaims, Integer, Hash)>] ExpenseClaims data, response status code and response headers
16209
17054
  def update_expense_claim_with_http_info(xero_tenant_id, expense_claim_id, expense_claims, options = {})
16210
17055
  opts = options.dup
@@ -16243,6 +17088,7 @@ module XeroRuby
16243
17088
  # HTTP header 'Content-Type'
16244
17089
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
16245
17090
  header_params[:'xero-tenant-id'] = xero_tenant_id
17091
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
16246
17092
 
16247
17093
  # form parameters
16248
17094
  form_params = opts[:form_params] || {}
@@ -16278,6 +17124,7 @@ module XeroRuby
16278
17124
  # @param invoices [Invoices]
16279
17125
  # @param [Hash] opts the optional parameters
16280
17126
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
17127
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16281
17128
  # @return [Invoices]
16282
17129
  def update_invoice(xero_tenant_id, invoice_id, invoices, opts = {})
16283
17130
  data, _status_code, _headers = update_invoice_with_http_info(xero_tenant_id, invoice_id, invoices, opts)
@@ -16290,6 +17137,7 @@ module XeroRuby
16290
17137
  # @param invoices [Invoices]
16291
17138
  # @param [Hash] opts the optional parameters
16292
17139
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
17140
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16293
17141
  # @return [Array<(Invoices, Integer, Hash)>] Invoices data, response status code and response headers
16294
17142
  def update_invoice_with_http_info(xero_tenant_id, invoice_id, invoices, options = {})
16295
17143
  opts = options.dup
@@ -16329,6 +17177,7 @@ module XeroRuby
16329
17177
  # HTTP header 'Content-Type'
16330
17178
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
16331
17179
  header_params[:'xero-tenant-id'] = xero_tenant_id
17180
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
16332
17181
 
16333
17182
  # form parameters
16334
17183
  form_params = opts[:form_params] || {}
@@ -16364,6 +17213,7 @@ module XeroRuby
16364
17213
  # @param file_name [String] Name of the attachment
16365
17214
  # @param body [String] Byte array of file in body of request
16366
17215
  # @param [Hash] opts the optional parameters
17216
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16367
17217
  # @return [Attachments]
16368
17218
  def update_invoice_attachment_by_file_name(xero_tenant_id, invoice_id, file_name, body, opts = {})
16369
17219
  data, _status_code, _headers = update_invoice_attachment_by_file_name_with_http_info(xero_tenant_id, invoice_id, file_name, body, opts)
@@ -16376,6 +17226,7 @@ module XeroRuby
16376
17226
  # @param file_name [String] Name of the attachment
16377
17227
  # @param body [String] Byte array of file in body of request
16378
17228
  # @param [Hash] opts the optional parameters
17229
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16379
17230
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
16380
17231
  def update_invoice_attachment_by_file_name_with_http_info(xero_tenant_id, invoice_id, file_name, body, options = {})
16381
17232
  opts = options.dup
@@ -16418,6 +17269,7 @@ module XeroRuby
16418
17269
  # HTTP header 'Content-Type'
16419
17270
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/octet-stream'])
16420
17271
  header_params[:'xero-tenant-id'] = xero_tenant_id
17272
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
16421
17273
 
16422
17274
  # form parameters
16423
17275
  form_params = opts[:form_params] || {}
@@ -16453,6 +17305,7 @@ module XeroRuby
16453
17305
  # @param items [Items]
16454
17306
  # @param [Hash] opts the optional parameters
16455
17307
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
17308
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16456
17309
  # @return [Items]
16457
17310
  def update_item(xero_tenant_id, item_id, items, opts = {})
16458
17311
  data, _status_code, _headers = update_item_with_http_info(xero_tenant_id, item_id, items, opts)
@@ -16465,6 +17318,7 @@ module XeroRuby
16465
17318
  # @param items [Items]
16466
17319
  # @param [Hash] opts the optional parameters
16467
17320
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
17321
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16468
17322
  # @return [Array<(Items, Integer, Hash)>] Items data, response status code and response headers
16469
17323
  def update_item_with_http_info(xero_tenant_id, item_id, items, options = {})
16470
17324
  opts = options.dup
@@ -16504,6 +17358,7 @@ module XeroRuby
16504
17358
  # HTTP header 'Content-Type'
16505
17359
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
16506
17360
  header_params[:'xero-tenant-id'] = xero_tenant_id
17361
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
16507
17362
 
16508
17363
  # form parameters
16509
17364
  form_params = opts[:form_params] || {}
@@ -16538,6 +17393,7 @@ module XeroRuby
16538
17393
  # @param linked_transaction_id [String] Unique identifier for a LinkedTransaction
16539
17394
  # @param linked_transactions [LinkedTransactions]
16540
17395
  # @param [Hash] opts the optional parameters
17396
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16541
17397
  # @return [LinkedTransactions]
16542
17398
  def update_linked_transaction(xero_tenant_id, linked_transaction_id, linked_transactions, opts = {})
16543
17399
  data, _status_code, _headers = update_linked_transaction_with_http_info(xero_tenant_id, linked_transaction_id, linked_transactions, opts)
@@ -16549,6 +17405,7 @@ module XeroRuby
16549
17405
  # @param linked_transaction_id [String] Unique identifier for a LinkedTransaction
16550
17406
  # @param linked_transactions [LinkedTransactions]
16551
17407
  # @param [Hash] opts the optional parameters
17408
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16552
17409
  # @return [Array<(LinkedTransactions, Integer, Hash)>] LinkedTransactions data, response status code and response headers
16553
17410
  def update_linked_transaction_with_http_info(xero_tenant_id, linked_transaction_id, linked_transactions, options = {})
16554
17411
  opts = options.dup
@@ -16587,6 +17444,7 @@ module XeroRuby
16587
17444
  # HTTP header 'Content-Type'
16588
17445
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
16589
17446
  header_params[:'xero-tenant-id'] = xero_tenant_id
17447
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
16590
17448
 
16591
17449
  # form parameters
16592
17450
  form_params = opts[:form_params] || {}
@@ -16621,6 +17479,7 @@ module XeroRuby
16621
17479
  # @param manual_journal_id [String] Unique identifier for a ManualJournal
16622
17480
  # @param manual_journals [ManualJournals]
16623
17481
  # @param [Hash] opts the optional parameters
17482
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16624
17483
  # @return [ManualJournals]
16625
17484
  def update_manual_journal(xero_tenant_id, manual_journal_id, manual_journals, opts = {})
16626
17485
  data, _status_code, _headers = update_manual_journal_with_http_info(xero_tenant_id, manual_journal_id, manual_journals, opts)
@@ -16632,6 +17491,7 @@ module XeroRuby
16632
17491
  # @param manual_journal_id [String] Unique identifier for a ManualJournal
16633
17492
  # @param manual_journals [ManualJournals]
16634
17493
  # @param [Hash] opts the optional parameters
17494
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16635
17495
  # @return [Array<(ManualJournals, Integer, Hash)>] ManualJournals data, response status code and response headers
16636
17496
  def update_manual_journal_with_http_info(xero_tenant_id, manual_journal_id, manual_journals, options = {})
16637
17497
  opts = options.dup
@@ -16670,6 +17530,7 @@ module XeroRuby
16670
17530
  # HTTP header 'Content-Type'
16671
17531
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
16672
17532
  header_params[:'xero-tenant-id'] = xero_tenant_id
17533
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
16673
17534
 
16674
17535
  # form parameters
16675
17536
  form_params = opts[:form_params] || {}
@@ -16705,6 +17566,7 @@ module XeroRuby
16705
17566
  # @param file_name [String] Name of the attachment
16706
17567
  # @param body [String] Byte array of file in body of request
16707
17568
  # @param [Hash] opts the optional parameters
17569
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16708
17570
  # @return [Attachments]
16709
17571
  def update_manual_journal_attachment_by_file_name(xero_tenant_id, manual_journal_id, file_name, body, opts = {})
16710
17572
  data, _status_code, _headers = update_manual_journal_attachment_by_file_name_with_http_info(xero_tenant_id, manual_journal_id, file_name, body, opts)
@@ -16717,6 +17579,7 @@ module XeroRuby
16717
17579
  # @param file_name [String] Name of the attachment
16718
17580
  # @param body [String] Byte array of file in body of request
16719
17581
  # @param [Hash] opts the optional parameters
17582
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16720
17583
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
16721
17584
  def update_manual_journal_attachment_by_file_name_with_http_info(xero_tenant_id, manual_journal_id, file_name, body, options = {})
16722
17585
  opts = options.dup
@@ -16759,6 +17622,7 @@ module XeroRuby
16759
17622
  # HTTP header 'Content-Type'
16760
17623
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/octet-stream'])
16761
17624
  header_params[:'xero-tenant-id'] = xero_tenant_id
17625
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
16762
17626
 
16763
17627
  # form parameters
16764
17628
  form_params = opts[:form_params] || {}
@@ -16794,6 +17658,7 @@ module XeroRuby
16794
17658
  # @param [Hash] opts the optional parameters
16795
17659
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
16796
17660
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
17661
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16797
17662
  # @return [BankTransactions]
16798
17663
  def update_or_create_bank_transactions(xero_tenant_id, bank_transactions, opts = {})
16799
17664
  data, _status_code, _headers = update_or_create_bank_transactions_with_http_info(xero_tenant_id, bank_transactions, opts)
@@ -16806,6 +17671,7 @@ module XeroRuby
16806
17671
  # @param [Hash] opts the optional parameters
16807
17672
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
16808
17673
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
17674
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16809
17675
  # @return [Array<(BankTransactions, Integer, Hash)>] BankTransactions data, response status code and response headers
16810
17676
  def update_or_create_bank_transactions_with_http_info(xero_tenant_id, bank_transactions, options = {})
16811
17677
  opts = options.dup
@@ -16842,6 +17708,7 @@ module XeroRuby
16842
17708
  # HTTP header 'Content-Type'
16843
17709
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
16844
17710
  header_params[:'xero-tenant-id'] = xero_tenant_id
17711
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
16845
17712
 
16846
17713
  # form parameters
16847
17714
  form_params = opts[:form_params] || {}
@@ -16876,6 +17743,7 @@ module XeroRuby
16876
17743
  # @param contacts [Contacts]
16877
17744
  # @param [Hash] opts the optional parameters
16878
17745
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
17746
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16879
17747
  # @return [Contacts]
16880
17748
  def update_or_create_contacts(xero_tenant_id, contacts, opts = {})
16881
17749
  data, _status_code, _headers = update_or_create_contacts_with_http_info(xero_tenant_id, contacts, opts)
@@ -16887,6 +17755,7 @@ module XeroRuby
16887
17755
  # @param contacts [Contacts]
16888
17756
  # @param [Hash] opts the optional parameters
16889
17757
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
17758
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16890
17759
  # @return [Array<(Contacts, Integer, Hash)>] Contacts data, response status code and response headers
16891
17760
  def update_or_create_contacts_with_http_info(xero_tenant_id, contacts, options = {})
16892
17761
  opts = options.dup
@@ -16922,6 +17791,7 @@ module XeroRuby
16922
17791
  # HTTP header 'Content-Type'
16923
17792
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
16924
17793
  header_params[:'xero-tenant-id'] = xero_tenant_id
17794
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
16925
17795
 
16926
17796
  # form parameters
16927
17797
  form_params = opts[:form_params] || {}
@@ -16957,6 +17827,7 @@ module XeroRuby
16957
17827
  # @param [Hash] opts the optional parameters
16958
17828
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
16959
17829
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
17830
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16960
17831
  # @return [CreditNotes]
16961
17832
  def update_or_create_credit_notes(xero_tenant_id, credit_notes, opts = {})
16962
17833
  data, _status_code, _headers = update_or_create_credit_notes_with_http_info(xero_tenant_id, credit_notes, opts)
@@ -16969,6 +17840,7 @@ module XeroRuby
16969
17840
  # @param [Hash] opts the optional parameters
16970
17841
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
16971
17842
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
17843
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
16972
17844
  # @return [Array<(CreditNotes, Integer, Hash)>] CreditNotes data, response status code and response headers
16973
17845
  def update_or_create_credit_notes_with_http_info(xero_tenant_id, credit_notes, options = {})
16974
17846
  opts = options.dup
@@ -17005,6 +17877,7 @@ module XeroRuby
17005
17877
  # HTTP header 'Content-Type'
17006
17878
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
17007
17879
  header_params[:'xero-tenant-id'] = xero_tenant_id
17880
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
17008
17881
 
17009
17882
  # form parameters
17010
17883
  form_params = opts[:form_params] || {}
@@ -17039,6 +17912,7 @@ module XeroRuby
17039
17912
  # @param employees [Employees] Employees with array of Employee object in body of request
17040
17913
  # @param [Hash] opts the optional parameters
17041
17914
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
17915
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17042
17916
  # @return [Employees]
17043
17917
  def update_or_create_employees(xero_tenant_id, employees, opts = {})
17044
17918
  data, _status_code, _headers = update_or_create_employees_with_http_info(xero_tenant_id, employees, opts)
@@ -17050,6 +17924,7 @@ module XeroRuby
17050
17924
  # @param employees [Employees] Employees with array of Employee object in body of request
17051
17925
  # @param [Hash] opts the optional parameters
17052
17926
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
17927
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17053
17928
  # @return [Array<(Employees, Integer, Hash)>] Employees data, response status code and response headers
17054
17929
  def update_or_create_employees_with_http_info(xero_tenant_id, employees, options = {})
17055
17930
  opts = options.dup
@@ -17085,6 +17960,7 @@ module XeroRuby
17085
17960
  # HTTP header 'Content-Type'
17086
17961
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
17087
17962
  header_params[:'xero-tenant-id'] = xero_tenant_id
17963
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
17088
17964
 
17089
17965
  # form parameters
17090
17966
  form_params = opts[:form_params] || {}
@@ -17120,6 +17996,7 @@ module XeroRuby
17120
17996
  # @param [Hash] opts the optional parameters
17121
17997
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
17122
17998
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
17999
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17123
18000
  # @return [Invoices]
17124
18001
  def update_or_create_invoices(xero_tenant_id, invoices, opts = {})
17125
18002
  data, _status_code, _headers = update_or_create_invoices_with_http_info(xero_tenant_id, invoices, opts)
@@ -17132,6 +18009,7 @@ module XeroRuby
17132
18009
  # @param [Hash] opts the optional parameters
17133
18010
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
17134
18011
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
18012
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17135
18013
  # @return [Array<(Invoices, Integer, Hash)>] Invoices data, response status code and response headers
17136
18014
  def update_or_create_invoices_with_http_info(xero_tenant_id, invoices, options = {})
17137
18015
  opts = options.dup
@@ -17168,6 +18046,7 @@ module XeroRuby
17168
18046
  # HTTP header 'Content-Type'
17169
18047
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
17170
18048
  header_params[:'xero-tenant-id'] = xero_tenant_id
18049
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
17171
18050
 
17172
18051
  # form parameters
17173
18052
  form_params = opts[:form_params] || {}
@@ -17203,6 +18082,7 @@ module XeroRuby
17203
18082
  # @param [Hash] opts the optional parameters
17204
18083
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
17205
18084
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
18085
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17206
18086
  # @return [Items]
17207
18087
  def update_or_create_items(xero_tenant_id, items, opts = {})
17208
18088
  data, _status_code, _headers = update_or_create_items_with_http_info(xero_tenant_id, items, opts)
@@ -17215,6 +18095,7 @@ module XeroRuby
17215
18095
  # @param [Hash] opts the optional parameters
17216
18096
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
17217
18097
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
18098
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17218
18099
  # @return [Array<(Items, Integer, Hash)>] Items data, response status code and response headers
17219
18100
  def update_or_create_items_with_http_info(xero_tenant_id, items, options = {})
17220
18101
  opts = options.dup
@@ -17251,6 +18132,7 @@ module XeroRuby
17251
18132
  # HTTP header 'Content-Type'
17252
18133
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
17253
18134
  header_params[:'xero-tenant-id'] = xero_tenant_id
18135
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
17254
18136
 
17255
18137
  # form parameters
17256
18138
  form_params = opts[:form_params] || {}
@@ -17285,6 +18167,7 @@ module XeroRuby
17285
18167
  # @param manual_journals [ManualJournals] ManualJournals array with ManualJournal object in body of request
17286
18168
  # @param [Hash] opts the optional parameters
17287
18169
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
18170
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17288
18171
  # @return [ManualJournals]
17289
18172
  def update_or_create_manual_journals(xero_tenant_id, manual_journals, opts = {})
17290
18173
  data, _status_code, _headers = update_or_create_manual_journals_with_http_info(xero_tenant_id, manual_journals, opts)
@@ -17296,6 +18179,7 @@ module XeroRuby
17296
18179
  # @param manual_journals [ManualJournals] ManualJournals array with ManualJournal object in body of request
17297
18180
  # @param [Hash] opts the optional parameters
17298
18181
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
18182
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17299
18183
  # @return [Array<(ManualJournals, Integer, Hash)>] ManualJournals data, response status code and response headers
17300
18184
  def update_or_create_manual_journals_with_http_info(xero_tenant_id, manual_journals, options = {})
17301
18185
  opts = options.dup
@@ -17331,6 +18215,7 @@ module XeroRuby
17331
18215
  # HTTP header 'Content-Type'
17332
18216
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
17333
18217
  header_params[:'xero-tenant-id'] = xero_tenant_id
18218
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
17334
18219
 
17335
18220
  # form parameters
17336
18221
  form_params = opts[:form_params] || {}
@@ -17365,6 +18250,7 @@ module XeroRuby
17365
18250
  # @param purchase_orders [PurchaseOrders]
17366
18251
  # @param [Hash] opts the optional parameters
17367
18252
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
18253
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17368
18254
  # @return [PurchaseOrders]
17369
18255
  def update_or_create_purchase_orders(xero_tenant_id, purchase_orders, opts = {})
17370
18256
  data, _status_code, _headers = update_or_create_purchase_orders_with_http_info(xero_tenant_id, purchase_orders, opts)
@@ -17376,6 +18262,7 @@ module XeroRuby
17376
18262
  # @param purchase_orders [PurchaseOrders]
17377
18263
  # @param [Hash] opts the optional parameters
17378
18264
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
18265
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17379
18266
  # @return [Array<(PurchaseOrders, Integer, Hash)>] PurchaseOrders data, response status code and response headers
17380
18267
  def update_or_create_purchase_orders_with_http_info(xero_tenant_id, purchase_orders, options = {})
17381
18268
  opts = options.dup
@@ -17411,6 +18298,7 @@ module XeroRuby
17411
18298
  # HTTP header 'Content-Type'
17412
18299
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
17413
18300
  header_params[:'xero-tenant-id'] = xero_tenant_id
18301
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
17414
18302
 
17415
18303
  # form parameters
17416
18304
  form_params = opts[:form_params] || {}
@@ -17445,6 +18333,7 @@ module XeroRuby
17445
18333
  # @param quotes [Quotes]
17446
18334
  # @param [Hash] opts the optional parameters
17447
18335
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
18336
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17448
18337
  # @return [Quotes]
17449
18338
  def update_or_create_quotes(xero_tenant_id, quotes, opts = {})
17450
18339
  data, _status_code, _headers = update_or_create_quotes_with_http_info(xero_tenant_id, quotes, opts)
@@ -17456,6 +18345,7 @@ module XeroRuby
17456
18345
  # @param quotes [Quotes]
17457
18346
  # @param [Hash] opts the optional parameters
17458
18347
  # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
18348
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17459
18349
  # @return [Array<(Quotes, Integer, Hash)>] Quotes data, response status code and response headers
17460
18350
  def update_or_create_quotes_with_http_info(xero_tenant_id, quotes, options = {})
17461
18351
  opts = options.dup
@@ -17491,6 +18381,7 @@ module XeroRuby
17491
18381
  # HTTP header 'Content-Type'
17492
18382
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
17493
18383
  header_params[:'xero-tenant-id'] = xero_tenant_id
18384
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
17494
18385
 
17495
18386
  # form parameters
17496
18387
  form_params = opts[:form_params] || {}
@@ -17520,11 +18411,95 @@ module XeroRuby
17520
18411
  return data, status_code, headers
17521
18412
  end
17522
18413
 
18414
+ # Creates or deletes one or more repeating invoice templates
18415
+ # @param xero_tenant_id [String] Xero identifier for Tenant
18416
+ # @param repeating_invoices [RepeatingInvoices] RepeatingInvoices with an array of repeating invoice objects in body of request
18417
+ # @param [Hash] opts the optional parameters
18418
+ # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
18419
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
18420
+ # @return [RepeatingInvoices]
18421
+ def update_or_create_repeating_invoices(xero_tenant_id, repeating_invoices, opts = {})
18422
+ data, _status_code, _headers = update_or_create_repeating_invoices_with_http_info(xero_tenant_id, repeating_invoices, opts)
18423
+ data
18424
+ end
18425
+
18426
+ # Creates or deletes one or more repeating invoice templates
18427
+ # @param xero_tenant_id [String] Xero identifier for Tenant
18428
+ # @param repeating_invoices [RepeatingInvoices] RepeatingInvoices with an array of repeating invoice objects in body of request
18429
+ # @param [Hash] opts the optional parameters
18430
+ # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
18431
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
18432
+ # @return [Array<(RepeatingInvoices, Integer, Hash)>] RepeatingInvoices data, response status code and response headers
18433
+ def update_or_create_repeating_invoices_with_http_info(xero_tenant_id, repeating_invoices, options = {})
18434
+ opts = options.dup
18435
+ if @api_client.config.debugging
18436
+ @api_client.config.logger.debug 'Calling API: AccountingApi.update_or_create_repeating_invoices ...'
18437
+ end
18438
+ # verify the required parameter 'xero_tenant_id' is set
18439
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
18440
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AccountingApi.update_or_create_repeating_invoices"
18441
+ end
18442
+ # verify the required parameter 'repeating_invoices' is set
18443
+ if @api_client.config.client_side_validation && repeating_invoices.nil?
18444
+ fail ArgumentError, "Missing the required parameter 'repeating_invoices' when calling AccountingApi.update_or_create_repeating_invoices"
18445
+ end
18446
+ # resource path
18447
+ local_var_path = '/RepeatingInvoices'
18448
+
18449
+ # camelize keys of incoming `where` opts
18450
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
18451
+
18452
+ # query parameters
18453
+ query_params = opts[:query_params] || {}
18454
+ query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
18455
+
18456
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
18457
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
18458
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
18459
+
18460
+ # header parameters
18461
+ header_params = opts[:header_params] || {}
18462
+ # HTTP header 'Accept' (if needed)
18463
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
18464
+ # HTTP header 'Content-Type'
18465
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
18466
+ header_params[:'xero-tenant-id'] = xero_tenant_id
18467
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
18468
+
18469
+ # form parameters
18470
+ form_params = opts[:form_params] || {}
18471
+
18472
+ # http body (model)
18473
+ post_body = opts[:body] || @api_client.object_to_http_body(repeating_invoices)
18474
+
18475
+ # return_type
18476
+ return_type = opts[:return_type] || 'RepeatingInvoices'
18477
+
18478
+ # auth_names
18479
+ auth_names = opts[:auth_names] || ['OAuth2']
18480
+
18481
+ new_options = opts.merge(
18482
+ :header_params => header_params,
18483
+ :query_params => query_params,
18484
+ :form_params => form_params,
18485
+ :body => post_body,
18486
+ :auth_names => auth_names,
18487
+ :return_type => return_type
18488
+ )
18489
+
18490
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, "AccountingApi", new_options)
18491
+ if @api_client.config.debugging
18492
+ @api_client.config.logger.debug "API called: AccountingApi#update_or_create_repeating_invoices\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
18493
+ end
18494
+ return data, status_code, headers
18495
+ end
18496
+
17523
18497
  # Updates a specific purchase order
17524
18498
  # @param xero_tenant_id [String] Xero identifier for Tenant
17525
18499
  # @param purchase_order_id [String] Unique identifier for an Purchase Order
17526
18500
  # @param purchase_orders [PurchaseOrders]
17527
18501
  # @param [Hash] opts the optional parameters
18502
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17528
18503
  # @return [PurchaseOrders]
17529
18504
  def update_purchase_order(xero_tenant_id, purchase_order_id, purchase_orders, opts = {})
17530
18505
  data, _status_code, _headers = update_purchase_order_with_http_info(xero_tenant_id, purchase_order_id, purchase_orders, opts)
@@ -17536,6 +18511,7 @@ module XeroRuby
17536
18511
  # @param purchase_order_id [String] Unique identifier for an Purchase Order
17537
18512
  # @param purchase_orders [PurchaseOrders]
17538
18513
  # @param [Hash] opts the optional parameters
18514
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17539
18515
  # @return [Array<(PurchaseOrders, Integer, Hash)>] PurchaseOrders data, response status code and response headers
17540
18516
  def update_purchase_order_with_http_info(xero_tenant_id, purchase_order_id, purchase_orders, options = {})
17541
18517
  opts = options.dup
@@ -17574,6 +18550,7 @@ module XeroRuby
17574
18550
  # HTTP header 'Content-Type'
17575
18551
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
17576
18552
  header_params[:'xero-tenant-id'] = xero_tenant_id
18553
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
17577
18554
 
17578
18555
  # form parameters
17579
18556
  form_params = opts[:form_params] || {}
@@ -17609,6 +18586,7 @@ module XeroRuby
17609
18586
  # @param file_name [String] Name of the attachment
17610
18587
  # @param body [String] Byte array of file in body of request
17611
18588
  # @param [Hash] opts the optional parameters
18589
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17612
18590
  # @return [Attachments]
17613
18591
  def update_purchase_order_attachment_by_file_name(xero_tenant_id, purchase_order_id, file_name, body, opts = {})
17614
18592
  data, _status_code, _headers = update_purchase_order_attachment_by_file_name_with_http_info(xero_tenant_id, purchase_order_id, file_name, body, opts)
@@ -17621,6 +18599,7 @@ module XeroRuby
17621
18599
  # @param file_name [String] Name of the attachment
17622
18600
  # @param body [String] Byte array of file in body of request
17623
18601
  # @param [Hash] opts the optional parameters
18602
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17624
18603
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
17625
18604
  def update_purchase_order_attachment_by_file_name_with_http_info(xero_tenant_id, purchase_order_id, file_name, body, options = {})
17626
18605
  opts = options.dup
@@ -17663,6 +18642,7 @@ module XeroRuby
17663
18642
  # HTTP header 'Content-Type'
17664
18643
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/octet-stream'])
17665
18644
  header_params[:'xero-tenant-id'] = xero_tenant_id
18645
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
17666
18646
 
17667
18647
  # form parameters
17668
18648
  form_params = opts[:form_params] || {}
@@ -17697,6 +18677,7 @@ module XeroRuby
17697
18677
  # @param quote_id [String] Unique identifier for an Quote
17698
18678
  # @param quotes [Quotes]
17699
18679
  # @param [Hash] opts the optional parameters
18680
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17700
18681
  # @return [Quotes]
17701
18682
  def update_quote(xero_tenant_id, quote_id, quotes, opts = {})
17702
18683
  data, _status_code, _headers = update_quote_with_http_info(xero_tenant_id, quote_id, quotes, opts)
@@ -17708,6 +18689,7 @@ module XeroRuby
17708
18689
  # @param quote_id [String] Unique identifier for an Quote
17709
18690
  # @param quotes [Quotes]
17710
18691
  # @param [Hash] opts the optional parameters
18692
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17711
18693
  # @return [Array<(Quotes, Integer, Hash)>] Quotes data, response status code and response headers
17712
18694
  def update_quote_with_http_info(xero_tenant_id, quote_id, quotes, options = {})
17713
18695
  opts = options.dup
@@ -17746,6 +18728,7 @@ module XeroRuby
17746
18728
  # HTTP header 'Content-Type'
17747
18729
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
17748
18730
  header_params[:'xero-tenant-id'] = xero_tenant_id
18731
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
17749
18732
 
17750
18733
  # form parameters
17751
18734
  form_params = opts[:form_params] || {}
@@ -17781,6 +18764,7 @@ module XeroRuby
17781
18764
  # @param file_name [String] Name of the attachment
17782
18765
  # @param body [String] Byte array of file in body of request
17783
18766
  # @param [Hash] opts the optional parameters
18767
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17784
18768
  # @return [Attachments]
17785
18769
  def update_quote_attachment_by_file_name(xero_tenant_id, quote_id, file_name, body, opts = {})
17786
18770
  data, _status_code, _headers = update_quote_attachment_by_file_name_with_http_info(xero_tenant_id, quote_id, file_name, body, opts)
@@ -17793,6 +18777,7 @@ module XeroRuby
17793
18777
  # @param file_name [String] Name of the attachment
17794
18778
  # @param body [String] Byte array of file in body of request
17795
18779
  # @param [Hash] opts the optional parameters
18780
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17796
18781
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
17797
18782
  def update_quote_attachment_by_file_name_with_http_info(xero_tenant_id, quote_id, file_name, body, options = {})
17798
18783
  opts = options.dup
@@ -17835,6 +18820,7 @@ module XeroRuby
17835
18820
  # HTTP header 'Content-Type'
17836
18821
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/octet-stream'])
17837
18822
  header_params[:'xero-tenant-id'] = xero_tenant_id
18823
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
17838
18824
 
17839
18825
  # form parameters
17840
18826
  form_params = opts[:form_params] || {}
@@ -17870,6 +18856,7 @@ module XeroRuby
17870
18856
  # @param receipts [Receipts]
17871
18857
  # @param [Hash] opts the optional parameters
17872
18858
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
18859
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17873
18860
  # @return [Receipts]
17874
18861
  def update_receipt(xero_tenant_id, receipt_id, receipts, opts = {})
17875
18862
  data, _status_code, _headers = update_receipt_with_http_info(xero_tenant_id, receipt_id, receipts, opts)
@@ -17882,6 +18869,7 @@ module XeroRuby
17882
18869
  # @param receipts [Receipts]
17883
18870
  # @param [Hash] opts the optional parameters
17884
18871
  # @option opts [Integer] :unitdp e.g. unitdp&#x3D;4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
18872
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17885
18873
  # @return [Array<(Receipts, Integer, Hash)>] Receipts data, response status code and response headers
17886
18874
  def update_receipt_with_http_info(xero_tenant_id, receipt_id, receipts, options = {})
17887
18875
  opts = options.dup
@@ -17921,6 +18909,7 @@ module XeroRuby
17921
18909
  # HTTP header 'Content-Type'
17922
18910
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
17923
18911
  header_params[:'xero-tenant-id'] = xero_tenant_id
18912
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
17924
18913
 
17925
18914
  # form parameters
17926
18915
  form_params = opts[:form_params] || {}
@@ -17956,6 +18945,7 @@ module XeroRuby
17956
18945
  # @param file_name [String] Name of the attachment
17957
18946
  # @param body [String] Byte array of file in body of request
17958
18947
  # @param [Hash] opts the optional parameters
18948
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17959
18949
  # @return [Attachments]
17960
18950
  def update_receipt_attachment_by_file_name(xero_tenant_id, receipt_id, file_name, body, opts = {})
17961
18951
  data, _status_code, _headers = update_receipt_attachment_by_file_name_with_http_info(xero_tenant_id, receipt_id, file_name, body, opts)
@@ -17968,6 +18958,7 @@ module XeroRuby
17968
18958
  # @param file_name [String] Name of the attachment
17969
18959
  # @param body [String] Byte array of file in body of request
17970
18960
  # @param [Hash] opts the optional parameters
18961
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
17971
18962
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
17972
18963
  def update_receipt_attachment_by_file_name_with_http_info(xero_tenant_id, receipt_id, file_name, body, options = {})
17973
18964
  opts = options.dup
@@ -18010,6 +19001,7 @@ module XeroRuby
18010
19001
  # HTTP header 'Content-Type'
18011
19002
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/octet-stream'])
18012
19003
  header_params[:'xero-tenant-id'] = xero_tenant_id
19004
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
18013
19005
 
18014
19006
  # form parameters
18015
19007
  form_params = opts[:form_params] || {}
@@ -18039,12 +19031,99 @@ module XeroRuby
18039
19031
  return data, status_code, headers
18040
19032
  end
18041
19033
 
19034
+ # Deletes a specific repeating invoice template
19035
+ # @param xero_tenant_id [String] Xero identifier for Tenant
19036
+ # @param repeating_invoice_id [String] Unique identifier for a Repeating Invoice
19037
+ # @param repeating_invoices [RepeatingInvoices]
19038
+ # @param [Hash] opts the optional parameters
19039
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
19040
+ # @return [RepeatingInvoices]
19041
+ def update_repeating_invoice(xero_tenant_id, repeating_invoice_id, repeating_invoices, opts = {})
19042
+ data, _status_code, _headers = update_repeating_invoice_with_http_info(xero_tenant_id, repeating_invoice_id, repeating_invoices, opts)
19043
+ data
19044
+ end
19045
+
19046
+ # Deletes a specific repeating invoice template
19047
+ # @param xero_tenant_id [String] Xero identifier for Tenant
19048
+ # @param repeating_invoice_id [String] Unique identifier for a Repeating Invoice
19049
+ # @param repeating_invoices [RepeatingInvoices]
19050
+ # @param [Hash] opts the optional parameters
19051
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
19052
+ # @return [Array<(RepeatingInvoices, Integer, Hash)>] RepeatingInvoices data, response status code and response headers
19053
+ def update_repeating_invoice_with_http_info(xero_tenant_id, repeating_invoice_id, repeating_invoices, options = {})
19054
+ opts = options.dup
19055
+ if @api_client.config.debugging
19056
+ @api_client.config.logger.debug 'Calling API: AccountingApi.update_repeating_invoice ...'
19057
+ end
19058
+ # verify the required parameter 'xero_tenant_id' is set
19059
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
19060
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AccountingApi.update_repeating_invoice"
19061
+ end
19062
+ # verify the required parameter 'repeating_invoice_id' is set
19063
+ if @api_client.config.client_side_validation && repeating_invoice_id.nil?
19064
+ fail ArgumentError, "Missing the required parameter 'repeating_invoice_id' when calling AccountingApi.update_repeating_invoice"
19065
+ end
19066
+ # verify the required parameter 'repeating_invoices' is set
19067
+ if @api_client.config.client_side_validation && repeating_invoices.nil?
19068
+ fail ArgumentError, "Missing the required parameter 'repeating_invoices' when calling AccountingApi.update_repeating_invoice"
19069
+ end
19070
+ # resource path
19071
+ local_var_path = '/RepeatingInvoices/{RepeatingInvoiceID}'.sub('{' + 'RepeatingInvoiceID' + '}', repeating_invoice_id.to_s)
19072
+
19073
+ # camelize keys of incoming `where` opts
19074
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
19075
+
19076
+ # query parameters
19077
+ query_params = opts[:query_params] || {}
19078
+
19079
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
19080
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
19081
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
19082
+
19083
+ # header parameters
19084
+ header_params = opts[:header_params] || {}
19085
+ # HTTP header 'Accept' (if needed)
19086
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
19087
+ # HTTP header 'Content-Type'
19088
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
19089
+ header_params[:'xero-tenant-id'] = xero_tenant_id
19090
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
19091
+
19092
+ # form parameters
19093
+ form_params = opts[:form_params] || {}
19094
+
19095
+ # http body (model)
19096
+ post_body = opts[:body] || @api_client.object_to_http_body(repeating_invoices)
19097
+
19098
+ # return_type
19099
+ return_type = opts[:return_type] || 'RepeatingInvoices'
19100
+
19101
+ # auth_names
19102
+ auth_names = opts[:auth_names] || ['OAuth2']
19103
+
19104
+ new_options = opts.merge(
19105
+ :header_params => header_params,
19106
+ :query_params => query_params,
19107
+ :form_params => form_params,
19108
+ :body => post_body,
19109
+ :auth_names => auth_names,
19110
+ :return_type => return_type
19111
+ )
19112
+
19113
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, "AccountingApi", new_options)
19114
+ if @api_client.config.debugging
19115
+ @api_client.config.logger.debug "API called: AccountingApi#update_repeating_invoice\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
19116
+ end
19117
+ return data, status_code, headers
19118
+ end
19119
+
18042
19120
  # Updates a specific attachment from a specific repeating invoices by file name
18043
19121
  # @param xero_tenant_id [String] Xero identifier for Tenant
18044
19122
  # @param repeating_invoice_id [String] Unique identifier for a Repeating Invoice
18045
19123
  # @param file_name [String] Name of the attachment
18046
19124
  # @param body [String] Byte array of file in body of request
18047
19125
  # @param [Hash] opts the optional parameters
19126
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
18048
19127
  # @return [Attachments]
18049
19128
  def update_repeating_invoice_attachment_by_file_name(xero_tenant_id, repeating_invoice_id, file_name, body, opts = {})
18050
19129
  data, _status_code, _headers = update_repeating_invoice_attachment_by_file_name_with_http_info(xero_tenant_id, repeating_invoice_id, file_name, body, opts)
@@ -18057,6 +19136,7 @@ module XeroRuby
18057
19136
  # @param file_name [String] Name of the attachment
18058
19137
  # @param body [String] Byte array of file in body of request
18059
19138
  # @param [Hash] opts the optional parameters
19139
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
18060
19140
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
18061
19141
  def update_repeating_invoice_attachment_by_file_name_with_http_info(xero_tenant_id, repeating_invoice_id, file_name, body, options = {})
18062
19142
  opts = options.dup
@@ -18099,6 +19179,7 @@ module XeroRuby
18099
19179
  # HTTP header 'Content-Type'
18100
19180
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/octet-stream'])
18101
19181
  header_params[:'xero-tenant-id'] = xero_tenant_id
19182
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
18102
19183
 
18103
19184
  # form parameters
18104
19185
  form_params = opts[:form_params] || {}
@@ -18132,6 +19213,7 @@ module XeroRuby
18132
19213
  # @param xero_tenant_id [String] Xero identifier for Tenant
18133
19214
  # @param tax_rates [TaxRates]
18134
19215
  # @param [Hash] opts the optional parameters
19216
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
18135
19217
  # @return [TaxRates]
18136
19218
  def update_tax_rate(xero_tenant_id, tax_rates, opts = {})
18137
19219
  data, _status_code, _headers = update_tax_rate_with_http_info(xero_tenant_id, tax_rates, opts)
@@ -18142,6 +19224,7 @@ module XeroRuby
18142
19224
  # @param xero_tenant_id [String] Xero identifier for Tenant
18143
19225
  # @param tax_rates [TaxRates]
18144
19226
  # @param [Hash] opts the optional parameters
19227
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
18145
19228
  # @return [Array<(TaxRates, Integer, Hash)>] TaxRates data, response status code and response headers
18146
19229
  def update_tax_rate_with_http_info(xero_tenant_id, tax_rates, options = {})
18147
19230
  opts = options.dup
@@ -18176,6 +19259,7 @@ module XeroRuby
18176
19259
  # HTTP header 'Content-Type'
18177
19260
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
18178
19261
  header_params[:'xero-tenant-id'] = xero_tenant_id
19262
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
18179
19263
 
18180
19264
  # form parameters
18181
19265
  form_params = opts[:form_params] || {}
@@ -18210,6 +19294,7 @@ module XeroRuby
18210
19294
  # @param tracking_category_id [String] Unique identifier for a TrackingCategory
18211
19295
  # @param tracking_category [TrackingCategory]
18212
19296
  # @param [Hash] opts the optional parameters
19297
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
18213
19298
  # @return [TrackingCategories]
18214
19299
  def update_tracking_category(xero_tenant_id, tracking_category_id, tracking_category, opts = {})
18215
19300
  data, _status_code, _headers = update_tracking_category_with_http_info(xero_tenant_id, tracking_category_id, tracking_category, opts)
@@ -18221,6 +19306,7 @@ module XeroRuby
18221
19306
  # @param tracking_category_id [String] Unique identifier for a TrackingCategory
18222
19307
  # @param tracking_category [TrackingCategory]
18223
19308
  # @param [Hash] opts the optional parameters
19309
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
18224
19310
  # @return [Array<(TrackingCategories, Integer, Hash)>] TrackingCategories data, response status code and response headers
18225
19311
  def update_tracking_category_with_http_info(xero_tenant_id, tracking_category_id, tracking_category, options = {})
18226
19312
  opts = options.dup
@@ -18259,6 +19345,7 @@ module XeroRuby
18259
19345
  # HTTP header 'Content-Type'
18260
19346
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
18261
19347
  header_params[:'xero-tenant-id'] = xero_tenant_id
19348
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
18262
19349
 
18263
19350
  # form parameters
18264
19351
  form_params = opts[:form_params] || {}
@@ -18294,6 +19381,7 @@ module XeroRuby
18294
19381
  # @param tracking_option_id [String] Unique identifier for a Tracking Option
18295
19382
  # @param tracking_option [TrackingOption]
18296
19383
  # @param [Hash] opts the optional parameters
19384
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
18297
19385
  # @return [TrackingOptions]
18298
19386
  def update_tracking_options(xero_tenant_id, tracking_category_id, tracking_option_id, tracking_option, opts = {})
18299
19387
  data, _status_code, _headers = update_tracking_options_with_http_info(xero_tenant_id, tracking_category_id, tracking_option_id, tracking_option, opts)
@@ -18306,6 +19394,7 @@ module XeroRuby
18306
19394
  # @param tracking_option_id [String] Unique identifier for a Tracking Option
18307
19395
  # @param tracking_option [TrackingOption]
18308
19396
  # @param [Hash] opts the optional parameters
19397
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
18309
19398
  # @return [Array<(TrackingOptions, Integer, Hash)>] TrackingOptions data, response status code and response headers
18310
19399
  def update_tracking_options_with_http_info(xero_tenant_id, tracking_category_id, tracking_option_id, tracking_option, options = {})
18311
19400
  opts = options.dup
@@ -18348,6 +19437,7 @@ module XeroRuby
18348
19437
  # HTTP header 'Content-Type'
18349
19438
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
18350
19439
  header_params[:'xero-tenant-id'] = xero_tenant_id
19440
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
18351
19441
 
18352
19442
  # form parameters
18353
19443
  form_params = opts[:form_params] || {}