avatax 20.9.0 → 21.10.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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/.vs/slnx.sqlite +0 -0
  3. data/lib/avatax/client/accounts.rb +83 -83
  4. data/lib/avatax/client/addresses.rb +21 -21
  5. data/lib/avatax/client/advancedrules.rb +41 -51
  6. data/lib/avatax/client/avafileforms.rb +41 -41
  7. data/lib/avatax/client/batches.rb +62 -62
  8. data/lib/avatax/client/certexpressinvites.rb +39 -39
  9. data/lib/avatax/client/certificates.rb +163 -163
  10. data/lib/avatax/client/companies.rb +157 -156
  11. data/lib/avatax/client/contacts.rb +48 -48
  12. data/lib/avatax/client/customers.rb +145 -145
  13. data/lib/avatax/client/datasources.rb +48 -48
  14. data/lib/avatax/client/definitions.rb +591 -422
  15. data/lib/avatax/client/distancethresholds.rb +48 -48
  16. data/lib/avatax/client/ecms.rb +26 -31
  17. data/lib/avatax/client/ecommercetoken.rb +17 -17
  18. data/lib/avatax/client/errortransactions.rb +27 -15
  19. data/lib/avatax/client/filingcalendars.rb +48 -12
  20. data/lib/avatax/client/filings.rb +23 -21
  21. data/lib/avatax/client/firmclientlinkages.rb +69 -69
  22. data/lib/avatax/client/free.rb +13 -86
  23. data/lib/avatax/client/fundingrequests.rb +20 -20
  24. data/lib/avatax/client/items.rb +255 -137
  25. data/lib/avatax/client/jurisdictionoverrides.rb +48 -48
  26. data/lib/avatax/client/locations.rb +92 -92
  27. data/lib/avatax/client/multidocument.rb +78 -78
  28. data/lib/avatax/client/nexus.rb +133 -105
  29. data/lib/avatax/client/notices.rb +43 -504
  30. data/lib/avatax/client/notifications.rb +27 -27
  31. data/lib/avatax/client/provisioning.rb +20 -20
  32. data/lib/avatax/client/registrar.rb +85 -75
  33. data/lib/avatax/client/reports.rb +44 -35
  34. data/lib/avatax/client/settings.rb +55 -50
  35. data/lib/avatax/client/subscriptions.rb +27 -27
  36. data/lib/avatax/client/taxcodes.rb +48 -48
  37. data/lib/avatax/client/taxcontent.rb +90 -27
  38. data/lib/avatax/client/taxprofiles.rb +14 -10
  39. data/lib/avatax/client/taxrules.rb +50 -50
  40. data/lib/avatax/client/transactions.rb +155 -155
  41. data/lib/avatax/client/upcs.rb +48 -48
  42. data/lib/avatax/client/users.rb +64 -64
  43. data/lib/avatax/client/utilities.rb +27 -27
  44. data/lib/avatax/configuration.rb +1 -1
  45. data/lib/avatax/request.rb +11 -5
  46. data/lib/avatax/version.rb +1 -1
  47. data/spec/avatax/request_spec.rb +25 -0
  48. metadata +12 -4
@@ -3,516 +3,55 @@ module AvaTax
3
3
  module Notices
4
4
 
5
5
 
6
- # Create a new notice comment.
7
- #
8
- # This API is available by invitation only.
9
- # 'Notice comments' are updates by the notice team on the work to be done and that has been done so far on a notice.
10
- # A 'notice' represents a letter sent to a business by a tax authority regarding tax filing issues. Avalara
11
- # Returns customers often receive support and assistance from the Compliance Notices team in handling notices received by taxing authorities.
12
- #
13
- # ### Security Policies
14
- #
15
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Operator, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
16
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
17
- # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
18
- # @param companyId [Integer] The ID of the company that owns this notice.
19
- # @param id [Integer] The ID of the tax notice we are adding the comment for.
20
- # @param model [NoticeCommentModel[]] The notice comments you wish to create.
21
- # @return [NoticeCommentModel[]]
22
- def create_notice_comment(companyId, id, model)
23
- path = "/api/v2/companies/#{companyId}/notices/#{id}/comments"
24
- post(path, model)
25
- end
26
-
27
-
28
- # Create a new notice finance details.
29
- #
30
- # This API is available by invitation only.
31
- # 'Notice finance details' is the categorical breakdown of the total charge levied by the tax authority on our customer,
32
- # as broken down in our "notice log" found in Workflow. Main examples of the categories are 'Tax Due', 'Interest', 'Penalty', 'Total Abated'.
33
- # A 'notice' represents a letter sent to a business by a tax authority regarding tax filing issues. Avalara
34
- # Returns customers often receive support and assistance from the Compliance Notices team in handling notices received by taxing authorities.
35
- #
36
- # ### Security Policies
37
- #
38
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Operator, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
39
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
40
- # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
41
- # @param companyId [Integer] The ID of the company that owns this notice.
42
- # @param id [Integer] The ID of the notice added to the finance details.
43
- # @param model [NoticeFinanceModel[]] The notice finance details you wish to create.
44
- # @return [NoticeFinanceModel[]]
45
- def create_notice_finance_details(companyId, id, model)
46
- path = "/api/v2/companies/#{companyId}/notices/#{id}/financedetails"
47
- post(path, model)
48
- end
49
-
50
-
51
- # Create a new notice responsibility.
52
- #
53
- # This API is available by invitation only.
54
- # 'Notice comments' are updates by the notice team on the work to be done and that has been done so far on a notice.
55
- # A 'notice' represents a letter sent to a business by a tax authority regarding tax filing issues. Avalara
56
- # Returns customers often receive support and assistance from the Compliance Notices team in handling notices received by taxing authorities.
57
- #
58
- # ### Security Policies
59
- #
60
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Operator, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
61
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
62
- # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
63
- # @param companyId [Integer] The ID of the company that owns this notice.
64
- # @param id [Integer] The ID of the tax notice we are adding the responsibility for.
65
- # @param model [NoticeResponsibilityDetailModel[]] The notice responsibilities you wish to create.
66
- # @return [NoticeResponsibilityDetailModel[]]
67
- def create_notice_responsibilities(companyId, id, model)
68
- path = "/api/v2/companies/#{companyId}/notices/#{id}/responsibilities"
69
- post(path, model)
70
- end
71
-
72
-
73
- # Create a new notice root cause.
74
- #
75
- # This API is available by invitation only.
76
- # 'Notice root causes' are are those who are responsible for the notice.
77
- # A 'notice' represents a letter sent to a business by a tax authority regarding tax filing issues. Avalara
78
- # Returns customers often receive support and assistance from the Compliance Notices team in handling notices received by taxing authorities.
79
- #
80
- # ### Security Policies
81
- #
82
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Operator, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
83
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
84
- # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
85
- # @param companyId [Integer] The ID of the company that owns this notice.
86
- # @param id [Integer] The ID of the tax notice we are adding the responsibility for.
87
- # @param model [NoticeRootCauseDetailModel[]] The notice root causes you wish to create.
88
- # @return [NoticeRootCauseDetailModel[]]
89
- def create_notice_root_causes(companyId, id, model)
90
- path = "/api/v2/companies/#{companyId}/notices/#{id}/rootcauses"
91
- post(path, model)
92
- end
93
-
94
-
95
- # Create a new notice.
96
- #
97
- # This API is available by invitation only.
98
- # Create one or more new notice objects.
99
- # A 'notice' represents a letter sent to a business by a tax authority regarding tax filing issues. Avalara
100
- # Returns customers often receive support and assistance from the Compliance Notices team in handling notices received by taxing authorities.
101
- #
102
- # ### Security Policies
103
- #
104
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Operator, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
105
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
106
- # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
107
- # @param companyId [Integer] The ID of the company that owns this notice.
108
- # @param model [NoticeModel[]] The notice object you wish to create.
109
- # @return [NoticeModel[]]
110
- def create_notices(companyId, model)
111
- path = "/api/v2/companies/#{companyId}/notices"
112
- post(path, model)
113
- end
114
-
115
-
116
- # Delete a single notice.
117
- #
118
- # This API is available by invitation only.
119
- # 'Notice comments' are updates by the notice team on the work to be done and that has been done so far on a notice.
120
- # A 'notice' represents a letter sent to a business by a tax authority regarding tax filing issues. Avalara
121
- # Returns customers often receive support and assistance from the Compliance Notices team in handling notices received by taxing authorities.
122
- #
123
- # ### Security Policies
124
- #
125
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Operator, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
126
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
127
- # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
128
- # @param companyId [Integer] The ID of the company that owns this notice.
129
- # @param id [Integer] The ID of the notice you wish to delete the finance detail from.
130
- # @param commentDetailsId [Integer] The ID of the comment you wish to delete.
131
- # @return [ErrorDetail[]]
132
- def delete_comment_details(companyId, id, commentDetailsId)
133
- path = "/api/v2/companies/#{companyId}/notices/#{id}/commentdetails/#{commentdetailsid}"
134
- delete(path)
135
- end
136
-
137
-
138
- # Delete a single notice.
139
- #
140
- # This API is available by invitation only.
141
- # 'Notice finance details' is the categorical breakdown of the total charge levied by the tax authority on our customer,
142
- # as broken down in our "notice log" found in Workflow. Main examples of the categories are 'Tax Due', 'Interest', 'Penalty', 'Total Abated'.
143
- # A 'notice' represents a letter sent to a business by a tax authority regarding tax filing issues. Avalara
144
- # Returns customers often receive support and assistance from the Compliance Notices team in handling notices received by taxing authorities.
145
- #
146
- # ### Security Policies
147
- #
148
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Operator, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
149
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
150
- # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
151
- # @param companyId [Integer] The ID of the company that owns this notice.
152
- # @param id [Integer] The ID of the notice you wish to delete the finance detail from.
153
- # @param financeDetailsId [Integer] The ID of the finance detail you wish to delete.
154
- # @return [ErrorDetail[]]
155
- def delete_finance_details(companyId, id, financeDetailsId)
156
- path = "/api/v2/companies/#{companyId}/notices/#{id}/financedetails/#{financedetailsid}"
157
- delete(path)
158
- end
159
-
160
-
161
- # Delete a single notice.
162
- #
163
- # This API is available by invitation only.
164
- # Mark the existing notice object at this URL as deleted.
165
- # A 'notice' represents a letter sent to a business by a tax authority regarding tax filing issues. Avalara
166
- # Returns customers often receive support and assistance from the Compliance Notices team in handling notices received by taxing authorities.
167
- #
168
- # ### Security Policies
169
- #
170
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Operator, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
171
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
172
- # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
173
- # @param companyId [Integer] The ID of the company that owns this notice.
174
- # @param id [Integer] The ID of the notice you wish to delete.
175
- # @return [ErrorDetail[]]
176
- def delete_notice(companyId, id)
177
- path = "/api/v2/companies/#{companyId}/notices/#{id}"
178
- delete(path)
179
- end
180
-
181
-
182
- # Delete a single responsibility
183
- #
184
- # This API is available by invitation only.
185
- # Mark the existing notice object at this URL as deleted.
186
- # A 'notice' represents a letter sent to a business by a tax authority regarding tax filing issues. Avalara
187
- # Returns customers often receive support and assistance from the Compliance Notices team in handling notices received by taxing authorities.
188
- #
189
- # ### Security Policies
190
- #
191
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Operator, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
192
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
193
- # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
194
- # @param companyId [Integer] The ID of the company that owns this notice.
195
- # @param noticeId [Integer] The ID of the notice you wish to delete.
196
- # @param id [Integer] The ID of the responsibility you wish to delete.
197
- # @return [ErrorDetail[]]
198
- def delete_responsibilities(companyId, noticeId, id)
199
- path = "/api/v2/companies/#{companyId}/notices/#{noticeId}/responsibilities/#{id}"
200
- delete(path)
201
- end
202
-
203
-
204
- # Delete a single root cause.
205
- #
206
- # This API is available by invitation only.
207
- # Mark the existing notice object at this URL as deleted.
208
- # A 'notice' represents a letter sent to a business by a tax authority regarding tax filing issues. Avalara
209
- # Returns customers often receive support and assistance from the Compliance Notices team in handling notices received by taxing authorities.
210
- #
211
- # ### Security Policies
212
- #
213
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Operator, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
214
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
215
- # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
216
- # @param companyId [Integer] The ID of the company that owns this notice.
217
- # @param noticeId [Integer] The ID of the notice you wish to delete.
218
- # @param id [Integer] The ID of the root cause you wish to delete.
219
- # @return [ErrorDetail[]]
220
- def delete_root_causes(companyId, noticeId, id)
221
- path = "/api/v2/companies/#{companyId}/notices/#{noticeId}/rootcauses/#{id}"
222
- delete(path)
223
- end
224
-
225
-
226
- # Retrieve a single attachment
227
- #
228
- # This API is available by invitation only.
229
- # Get the file attachment identified by this URL.
230
- #
231
- # ### Security Policies
232
- #
233
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Operator, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
234
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
235
- # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
236
- # @param companyId [Integer] The ID of the company for this attachment.
237
- # @param id [Integer] The ResourceFileId of the attachment to download.
6
+ # Creates a new tax notice responsibility type.
7
+ #
8
+ # This API is available by invitation only and only available for users with Compliance admin access.
9
+ #
10
+ # ### Security Policies
11
+ #
12
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
13
+ # * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
14
+ # @param model [Object] The responsibility type to create
238
15
  # @return [Object]
239
- def download_notice_attachment(companyId, id)
240
- path = "/api/v2/companies/#{companyId}/notices/files/#{id}/attachment"
241
- get(path)
242
- end
243
-
244
-
245
- # Retrieve a single notice.
246
- #
247
- # This API is available by invitation only.
248
- # Get the tax notice object identified by this URL.
249
- # A 'notice' represents a letter sent to a business by a tax authority regarding tax filing issues. Avalara
250
- # Returns customers often receive support and assistance from the Compliance Notices team in handling notices received by taxing authorities.
251
- #
252
- # ### Security Policies
253
- #
254
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Operator, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
255
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
256
- # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
257
- # @param companyId [Integer] The ID of the company for this notice.
258
- # @param id [Integer] The ID of this notice.
16
+ def create_notice_responsibility_type(model) path = "/api/v2/notices/responsibilities"
17
+ post(path, model) end
18
+
19
+ # Creates a new tax notice root cause type.
20
+ #
21
+ # This API is available by invitation only and only available for users with Compliance admin access.
22
+ #
23
+ # ### Security Policies
24
+ #
25
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
26
+ # * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
27
+ # @param model [Object] The root cause type to create
259
28
  # @return [Object]
260
- def get_notice(companyId, id)
261
- path = "/api/v2/companies/#{companyId}/notices/#{id}"
262
- get(path)
263
- end
264
-
29
+ def create_notice_root_cause_type(model) path = "/api/v2/notices/rootcauses"
30
+ post(path, model) end
265
31
 
266
- # Retrieve notice comments for a specific notice.
32
+ # Delete a tax notice responsibility type.
267
33
  #
268
- # This API is available by invitation only.
269
- # 'Notice comments' are updates by the notice team on the work to be done and that has been done so far on a notice.
270
- # A 'notice' represents a letter sent to a business by a tax authority regarding tax filing issues. Avalara
271
- # Returns customers often receive support and assistance from the Compliance Notices team in handling notices received by taxing authorities.
272
- #
273
- # ### Security Policies
274
- #
275
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Operator, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
276
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
277
- # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
278
- # @param id [Integer] The ID of the notice.
279
- # @param companyId [Integer] The ID of the company that owns these notices.
280
- # @return [FetchResult]
281
- def get_notice_comments(id, companyId)
282
- path = "/api/v2/companies/#{companyId}/notices/#{id}/comments"
283
- get(path)
284
- end
285
-
286
-
287
- # Retrieve notice finance details for a specific notice.
288
- #
289
- # This API is available by invitation only.
290
- # 'Notice finance details' is the categorical breakdown of the total charge levied by the tax authority on our customer,
291
- # as broken down in our "notice log" found in Workflow. Main examples of the categories are 'Tax Due', 'Interest', 'Penalty', 'Total Abated'.
292
- # A 'notice' represents a letter sent to a business by a tax authority regarding tax filing issues. Avalara
293
- # Returns customers often receive support and assistance from the Compliance Notices team in handling notices received by taxing authorities.
294
- #
295
- # ### Security Policies
296
- #
297
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Operator, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
298
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
299
- # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
300
- # @param id [Integer] The ID of the company that owns these notices.
301
- # @param companyId [Integer] The ID of the company that owns these notices.
302
- # @return [FetchResult]
303
- def get_notice_finance_details(id, companyId)
304
- path = "/api/v2/companies/#{companyId}/notices/#{id}/financedetails"
305
- get(path)
306
- end
307
-
308
-
309
- # Retrieve notice responsibilities for a specific notice.
310
- #
311
- # This API is available by invitation only.
312
- # 'Notice responsibilities' are are those who are responsible for the notice.
313
- # A 'notice' represents a letter sent to a business by a tax authority regarding tax filing issues. Avalara
314
- # Returns customers often receive support and assistance from the Compliance Notices team in handling notices received by taxing authorities.
315
- #
316
- # ### Security Policies
317
- #
318
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Operator, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
319
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
320
- # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
321
- # @param id [Integer] The ID of the notice.
322
- # @param companyId [Integer] The ID of the company that owns these notices.
323
- # @return [FetchResult]
324
- def get_notice_responsibilities(id, companyId)
325
- path = "/api/v2/companies/#{companyId}/notices/#{id}/responsibilities"
326
- get(path)
327
- end
328
-
329
-
330
- # Retrieve notice root causes for a specific notice.
331
- #
332
- # This API is available by invitation only.
333
- # 'Notice root causes' are are those who are responsible for the notice.
334
- # A 'notice' represents a letter sent to a business by a tax authority regarding tax filing issues. Avalara
335
- # Returns customers often receive support and assistance from the Compliance Notices team in handling notices received by taxing authorities.
336
- #
337
- # ### Security Policies
338
- #
339
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Operator, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
340
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
341
- # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
342
- # @param id [Integer] The ID of the notice.
343
- # @param companyId [Integer] The ID of the company that owns these notices.
344
- # @return [FetchResult]
345
- def get_notice_root_causes(id, companyId)
346
- path = "/api/v2/companies/#{companyId}/notices/#{id}/rootcauses"
347
- get(path)
348
- end
349
-
350
-
351
- # Retrieve notices for a company.
352
- #
353
- # This API is available by invitation only.
354
- # List all tax notice objects assigned to this company.
355
- # A 'notice' represents a letter sent to a business by a tax authority regarding tax filing issues. Avalara
356
- # Returns customers often receive support and assistance from the Compliance Notices team in handling notices received by taxing authorities.
357
- #
358
- # Search for specific objects using the criteria in the `$filter` parameter; full documentation is available on [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/) .
359
- # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
360
- #
361
- # ### Security Policies
362
- #
363
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Operator, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
364
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
365
- # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
366
- # @param companyId [Integer] The ID of the company that owns these notices.
367
- # @param filter [String] A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).<br />*Not filterable:* status, totalRemit, ticketReferenceNo, ticketReferenceUrl, reason, type, createdByUserName, documentReference, jurisdictionName, jurisdictionType, comments, finances, responsibility, rootCause
368
- # @param include [String] A comma separated list of additional data to retrieve.
369
- # @param top [Integer] If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records.
370
- # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
371
- # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
372
- # @return [FetchResult]
373
- def list_notices_by_company(companyId, options={})
374
- path = "/api/v2/companies/#{companyId}/notices"
375
- get(path, options)
376
- end
377
-
378
-
379
- # Retrieve all notices.
380
- #
381
- # This API is available by invitation only.
382
- #
383
- # This API is deprecated - please use POST `/api/v2/notices/query` API.
384
- #
385
- # Get multiple notice objects across all companies.
386
- # A 'notice' represents a letter sent to a business by a tax authority regarding tax filing issues. Avalara
387
- # Returns customers often receive support and assistance from the Compliance Notices team in handling notices received by taxing authorities.
388
- #
389
- # Search for specific objects using the criteria in the `$filter` parameter; full documentation is available on [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/) .
390
- # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
391
- #
392
- # ### Security Policies
393
- #
394
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Operator, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
395
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
396
- # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
397
- # @param filter [String] A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).<br />*Not filterable:* status, totalRemit, ticketReferenceNo, ticketReferenceUrl, reason, type, createdByUserName, documentReference, jurisdictionName, jurisdictionType, comments, finances, responsibility, rootCause
398
- # @param include [String] A comma separated list of additional data to retrieve.
399
- # @param top [Integer] If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records.
400
- # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
401
- # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
402
- # @return [FetchResult]
403
- def query_notices(options={})
404
- path = "/api/v2/notices"
405
- get(path, options)
406
- end
407
-
408
-
409
- # Retrieve all notices.
410
- #
411
- # This API is available by invitation only.
412
- #
413
- # This API is intended to replace the GET `/api/v2/notices` API. The fetch request object is posted on the body of the request instead of the URI, so it's not limited by a set number of characters.
414
- # The documentation of the GET API shows how filtering, sorting and pagination works.
415
- #
416
- # ### Security Policies
417
- #
418
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Operator, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
419
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
420
- # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
421
- # @param model [Object] Query object to filter, sort and paginate the filing calendars.
422
- # @return [FetchResult]
423
- def query_notices_post(model)
424
- path = "/api/v2/notices/query"
425
- post(path, model)
426
- end
427
-
428
-
429
- # Update a single notice finance detail.
430
- #
431
- # This API is available by invitation only.
432
- # All data from the existing object will be replaced with data in the object you PUT.
433
- # To set a field's value to null, you may either set its value to null or omit that field from the object you post.
434
- #
435
- # ### Security Policies
436
- #
437
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Operator, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
438
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
439
- # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
440
- # @param companyId [Integer] The ID of the company that this notice finance detail belongs to.
441
- # @param noticeid [Integer] The ID of the notice finance detail you wish to update.
442
- # @param financeDetailsId [Integer] The ID of the finance detail you wish to delete.
443
- # @param model [Object] The notice finance detail object you wish to update.
444
- # @return [Object]
445
- def update_finance_details(companyId, noticeid, financeDetailsId, model)
446
- path = "/api/v2/companies/#{companyId}/notices/#{noticeid}/financedetails/#{financedetailsid}"
447
- put(path, model)
448
- end
449
-
450
-
451
- # Update a single notice.
452
- #
453
- # This API is available by invitation only.
454
- # Replace the existing notice object at this URL with an updated object.
455
- # A 'notice' represents a letter sent to a business by a tax authority regarding tax filing issues. Avalara
456
- # Returns customers often receive support and assistance from the Compliance Notices team in handling notices received by taxing authorities.
457
- # All data from the existing object will be replaced with data in the object you PUT.
458
- # To set a field's value to null, you may either set its value to null or omit that field from the object you post.
459
- #
460
- # ### Security Policies
461
- #
462
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Operator, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
463
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
464
- # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
465
- # @param companyId [Integer] The ID of the company that this notice belongs to.
466
- # @param id [Integer] The ID of the notice you wish to update.
467
- # @param model [Object] The notice object you wish to update.
468
- # @return [Object]
469
- def update_notice(companyId, id, model)
470
- path = "/api/v2/companies/#{companyId}/notices/#{id}"
471
- put(path, model)
472
- end
473
-
474
-
475
- # Update a single notice comment.
476
- #
477
- # This API is available by invitation only.
478
- # All data from the existing object will be replaced with data in the object you PUT.
479
- # To set a field's value to null, you may either set its value to null or omit that field from the object you post.
480
- #
481
- # ### Security Policies
482
- #
483
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Operator, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
484
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
485
- # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
486
- # @param companyId [Integer] The ID of the company that this notice comment belongs to.
487
- # @param noticeid [Integer] The ID of the notice you wish to update.
488
- # @param commentDetailsId [Integer] The ID of the comment you wish to update.
489
- # @param model [Object] The notice comment object you wish to update.
490
- # @return [Object]
491
- def update_notice_comments(companyId, noticeid, commentDetailsId, model)
492
- path = "/api/v2/companies/#{companyId}/notices/#{noticeid}/commentdetails/#{commentdetailsid}"
493
- put(path, model)
494
- end
495
-
34
+ # This API is available by invitation only and only available for users with Compliance admin access.
35
+ #
36
+ # ### Security Policies
37
+ #
38
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
39
+ # @param responsibilityId [Integer] The unique ID of the responsibility type
40
+ # @return [ErrorDetail[]]
41
+ def delete_notice_responsibility_type(responsibilityId) path = "/api/v2/notices/responsibilities/#{responsibilityId}"
42
+ delete(path) end
496
43
 
497
- # Retrieve a single attachment
498
- #
499
- # This API is available by invitation only.
500
- #
501
- # Uploads a file attachment for a tax notice.
502
- #
503
- # ### Security Policies
44
+ # Delete a tax notice root cause type.
504
45
  #
505
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Operator, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
506
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
507
- # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
508
- # @param companyId [Integer] The ID of the company for this attachment.
509
- # @param model [Object] The upload request.
510
- # @return [Object]
511
- def upload_attachment(companyId, model)
512
- path = "/api/v2/companies/#{companyId}/notices/files/attachment"
513
- post(path, model)
514
- end
515
-
46
+ # This API is available by invitation only and only available for users with Compliance admin access.
47
+ #
48
+ # ### Security Policies
49
+ #
50
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
51
+ # @param rootCauseId [Integer] The unique ID of the root cause type
52
+ # @return [ErrorDetail[]]
53
+ def delete_notice_root_cause_type(rootCauseId) path = "/api/v2/notices/rootcauses/#{rootCauseId}"
54
+ delete(path) end
516
55
  end
517
56
  end
518
57
  end