avatax 19.7.0 → 19.8.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 84e5af57881983a07a47bc4edf4f80952fc03655d04ffbdda0fd9ac1123d6bee
4
- data.tar.gz: 477b963fa3fdba9b2707e082eb4884d584ec651e791a877faa69565388eb0af1
3
+ metadata.gz: bb8f10b49682e45fdf31a4d133c20221f679e2f385717c04eb9fd3ef58a0a998
4
+ data.tar.gz: fadd3e37b607f12c071a4ce0fbeb789e14da605f0e179ee6051296a4815befec
5
5
  SHA512:
6
- metadata.gz: f2881ca629ea60a47bef96885a1e87487bf2b79a6dd98c2a60b7f4d7bd83c6ccbd0501dfc11e9266e15c6c818440bc65ed62a9c30f3f9241b2c4aef3c48fd84a
7
- data.tar.gz: a2506d940ef9f8be009335cbcd83907815631cf1bb4540d2e1a3cc8ad1af6f2ee4c98f3bfc6a15393023e0e0d75c39952cb64599e30190b762a844dde1a746cb
6
+ metadata.gz: d7931a896e2a34828fdc2ba050dd78e242b35aa6a67ad1d22edf0aa351e17915ca1ea3df8f42dd35a7d8cb885a9a5376740d4745a2d4ebb98e123e8a28e73b20
7
+ data.tar.gz: 775389c619cabb591154437a28e158001206f63a2281c9390f72559c5ab8c6708a5773b37fc7f2d9d25470c5e0d324804115ad1ea7b6121fca79463cb8aac517
@@ -11,8 +11,8 @@ module AvaTax
11
11
  # ### Security Policies
12
12
  #
13
13
  # * This API requires the user role Compliance Root User.
14
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.
15
- # * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request host address whitelisting for [Returns] for your servers.
14
+ # * 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.
15
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
16
16
  # @param model [AvaFileFormModel[]] The AvaFileForm you wish to create.
17
17
  # @return [AvaFileFormModel[]]
18
18
  def create_ava_file_forms(model)
@@ -28,8 +28,8 @@ module AvaTax
28
28
  # ### Security Policies
29
29
  #
30
30
  # * This API requires one of the following user roles: Compliance Root User, ComplianceUser, FirmAdmin.
31
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.
32
- # * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request host address whitelisting for [Returns] for your servers.
31
+ # * 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.
32
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
33
33
  # @param id [Integer] The ID of the AvaFileForm you wish to delete.
34
34
  # @return [ErrorDetail[]]
35
35
  def delete_ava_file_form(id)
@@ -45,8 +45,8 @@ module AvaTax
45
45
  # ### Security Policies
46
46
  #
47
47
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CompanyUser, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, FirmAdmin, FirmUser, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin.
48
- # * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request host address whitelisting for [Returns] for your servers.
49
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.
48
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
49
+ # * 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.
50
50
  # @param id [Integer] The primary key of this AvaFileForm
51
51
  # @return [Object]
52
52
  def get_ava_file_form(id)
@@ -63,10 +63,9 @@ module AvaTax
63
63
  # ### Security Policies
64
64
  #
65
65
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CompanyUser, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, FirmAdmin, FirmUser, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin.
66
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.
67
- # * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request host address whitelisting for [Returns] for your servers.
66
+ # * 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.
67
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
68
68
  # @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:* outletTypeId
69
- # @param include [String] A comma separated list of additional data to retrieve.
70
69
  # @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.
71
70
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
72
71
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
@@ -85,8 +84,8 @@ module AvaTax
85
84
  # ### Security Policies
86
85
  #
87
86
  # * This API requires the user role Compliance Root User.
88
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.
89
- # * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request host address whitelisting for [Returns] for your servers.
87
+ # * 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.
88
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
90
89
  # @param id [Integer] The ID of the AvaFileForm you wish to update
91
90
  # @param model [Object] The AvaFileForm model you wish to update.
92
91
  # @return [Object]
@@ -63,7 +63,7 @@ module AvaTax
63
63
  # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
64
64
  # @param companyId [Integer] The unique ID number of the company that recorded this certificate
65
65
  # @param id [Integer] The unique ID number of this certificate
66
- # @return [Object]
66
+ # @return [ErrorDetail[]]
67
67
  def delete_certificate(companyId, id)
68
68
  path = "/api/v2/companies/#{companyId}/certificates/#{id}"
69
69
  delete(path)
@@ -308,7 +308,7 @@ module AvaTax
308
308
  # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
309
309
  # @param companyId [Integer] The ID number of the company to search
310
310
  # @param include [String] OPTIONAL: A comma separated list of special fetch options. You can specify one or more of the following: * customers - Retrieves the list of customers linked to the certificate. * po_numbers - Retrieves all PO numbers tied to the certificate. * attributes - Retrieves all attributes applied to the certificate.
311
- # @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:* exemptionNumber, status, pdf, pages
311
+ # @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:* exemptionNumber, status, ecmsId, ecmsStatus, pdf, pages
312
312
  # @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.
313
313
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
314
314
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
@@ -3,112 +3,6 @@ module AvaTax
3
3
  module Compliance
4
4
 
5
5
 
6
- # Retrieve a single tax rate.
7
- #
8
- # This API is available by invitation only.
9
- # @param id [Integer] The ID of the tax rate to retrieve.
10
- # @return [Object]
11
- def get_tax_rate(id)
12
- path = "/api/v2/compliance/taxrates/#{id}"
13
- get(path)
14
- end
15
-
16
-
17
- # Retrieve a single tax region.
18
- #
19
- # This API is available by invitation only.
20
- # @param id [Integer] The ID of the tax region to retrieve.
21
- # @return [Object]
22
- def get_tax_region(id)
23
- path = "/api/v2/compliance/taxregions/#{id}"
24
- get(path)
25
- end
26
-
27
-
28
- # Retrieve jurisdictions and rates in a combined format.
29
- #
30
- # This API is available by invitation only.
31
- # @param effectiveDate [DateTime] Used to limit the jurisdictions returned.
32
- # @param endDate [DateTime] Used to limit the jurisdictions returned.
33
- # @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/).
34
- # @param include [String] A comma separated list of objects to fetch underneath this jurisdiction.
35
- # @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.
36
- # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
37
- # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
38
- # @return [Object]
39
- def query_jurisdiction_rates(options={})
40
- path = "/api/v2/compliance/jurisdictionrates"
41
- get(path, options)
42
- end
43
-
44
-
45
- # Retrieve all unique jurisdictions.
46
- #
47
- # This API is available by invitation only.
48
- #
49
- # You may specify one or more of the following values in the '$include' parameter to fetch additional nested data, using commas to separate multiple values:
50
- #
51
- # * TaxRates
52
- # @param country [String] The two-character ISO-3166 code for the country.
53
- # @param region [String] The two or three character region code for the region.
54
- # @param effectiveDate [DateTime] Used to limit the jurisdictions or rates returned.
55
- # @param endDate [DateTime] Used to limit the jurisdictions or rates returned.
56
- # @param aggregationOption [String] Aggregation method used if rates are returned using the '$include' parameter. (See StackAggregationOption::* for a list of allowable values)
57
- # @param include [String] A comma separated list of objects to fetch underneath this tax rate.
58
- # @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.
59
- # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
60
- # @return [Object]
61
- def query_jurisdictions(country, region, options={})
62
- path = "/api/v2/compliance/jurisdictions/#{country}/#{region}"
63
- get(path, options)
64
- end
65
-
66
-
67
- # Retrieve all tax rates.
68
- #
69
- # This API is available by invitation only.
70
- # @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/).
71
- # @param include [String] A comma separated list of objects to fetch underneath this tax rate.
72
- # @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.
73
- # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
74
- # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
75
- # @return [Object]
76
- def query_tax_rates(options={})
77
- path = "/api/v2/compliance/taxrates"
78
- get(path, options)
79
- end
80
-
81
-
82
- # Retrieve all tax region jurisdictions.
83
- #
84
- # This API is available by invitation only.
85
- # @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/).
86
- # @param include [String] A comma separated list of objects to fetch underneath this tax region jurisdiction.
87
- # @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.
88
- # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
89
- # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
90
- # @return [Object]
91
- def query_tax_region_jurisdictions(options={})
92
- path = "/api/v2/compliance/taxregionjurisdictions"
93
- get(path, options)
94
- end
95
-
96
-
97
- # Retrieve all tax regions.
98
- #
99
- # This API is available by invitation only.
100
- # @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/).
101
- # @param include [String] A comma separated list of objects to fetch underneath this tax region.
102
- # @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.
103
- # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
104
- # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
105
- # @return [Object]
106
- def query_tax_regions(options={})
107
- path = "/api/v2/compliance/taxregions"
108
- get(path, options)
109
- end
110
-
111
-
112
6
  # API to modify the reference fields at the document and the line level.
113
7
  #
114
8
  #
@@ -76,6 +76,7 @@ module AvaTax
76
76
  #
77
77
  # * Certificates - Fetch a list of certificates linked to this customer.
78
78
  # * CustomFields - Fetch a list of custom fields associated to this customer.
79
+ # * attributes - Retrieves all attributes applied to the customer.
79
80
  #
80
81
  # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
81
82
  # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
@@ -96,6 +97,38 @@ module AvaTax
96
97
  end
97
98
 
98
99
 
100
+ # Link attributes to a customer
101
+ #
102
+ # Link one or many attributes to a customer.
103
+ #
104
+ # A customer may have multiple attributes that control its behavior. You may link or unlink attributes to a
105
+ # customer at any time. The full list of defined attributes may be found using `QueryCompanyCustomerAttributes` API.
106
+ #
107
+ # A customer object defines information about a person or business that purchases products from your
108
+ # company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this
109
+ # record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and
110
+ # identify any certificates linked to this customer object. If any certificate applies to the transaction,
111
+ # AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`.
112
+ #
113
+ # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
114
+ # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
115
+ # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
116
+ # storage for this company, call `RequestCertificateSetup`.
117
+ #
118
+ # ### Security Policies
119
+ #
120
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
121
+ # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
122
+ # @param companyId [Integer] The unique ID number of the company that recorded the provided customer
123
+ # @param customerCode [String] The unique code representing the current customer
124
+ # @param model [CustomerAttributeModel[]] The list of attributes to link to the customer.
125
+ # @return [FetchResult]
126
+ def link_attributes_to_customer(companyId, customerCode, model)
127
+ path = "/api/v2/companies/#{companyId}/customers/#{customerCode}/attributes/link"
128
+ put(path, model)
129
+ end
130
+
131
+
99
132
  # Link certificates to a customer
100
133
  #
101
134
  # Link one or more certificates to a customer.
@@ -155,6 +188,37 @@ module AvaTax
155
188
  end
156
189
 
157
190
 
191
+ # Retrieve a customer's attributes
192
+ #
193
+ # Retrieve the attributes linked to the customer identified by this URL.
194
+ #
195
+ # A customer may have multiple attributes that control its behavior. You may link or unlink attributes to a
196
+ # customer at any time. The full list of defined attributes may be found using `QueryCompanyCustomerAttributes` API.
197
+ #
198
+ # A customer object defines information about a person or business that purchases products from your
199
+ # company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this
200
+ # record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and
201
+ # identify any certificates linked to this customer object. If any certificate applies to the transaction,
202
+ # AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`.
203
+ #
204
+ # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
205
+ # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
206
+ # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
207
+ # storage for this company, call `RequestCertificateSetup`.
208
+ #
209
+ # ### Security Policies
210
+ #
211
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
212
+ # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
213
+ # @param companyId [Integer] The unique ID number of the company that recorded the provided customer
214
+ # @param customerCode [String] The unique code representing the current customer
215
+ # @return [FetchResult]
216
+ def list_attributes_for_customer(companyId, customerCode)
217
+ path = "/api/v2/companies/#{companyId}/customers/#{customerCode}/attributes"
218
+ get(path)
219
+ end
220
+
221
+
158
222
  # List certificates linked to a customer
159
223
  #
160
224
  # List all certificates linked to a customer.
@@ -177,7 +241,7 @@ module AvaTax
177
241
  # @param companyId [Integer] The unique ID number of the company that recorded this customer
178
242
  # @param customerCode [String] The unique code representing this customer
179
243
  # @param include [String] OPTIONAL: A comma separated list of special fetch options. You can specify one or more of the following: * customers - Retrieves the list of customers linked to the certificate. * po_numbers - Retrieves all PO numbers tied to the certificate. * attributes - Retrieves all attributes applied to the certificate.
180
- # @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:* exemptionNumber, status, pdf, pages
244
+ # @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:* exemptionNumber, status, ecmsId, ecmsStatus, pdf, pages
181
245
  # @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.
182
246
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
183
247
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
@@ -234,6 +298,7 @@ module AvaTax
234
298
  # You can use the `$include` parameter to fetch the following additional objects for expansion:
235
299
  #
236
300
  # * Certificates - Fetch a list of certificates linked to this customer.
301
+ # * attributes - Retrieves all attributes applied to the customer.
237
302
  #
238
303
  # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
239
304
  # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
@@ -257,6 +322,38 @@ module AvaTax
257
322
  end
258
323
 
259
324
 
325
+ # Unlink attributes from a customer
326
+ #
327
+ # Unlink one or many attributes from a customer.
328
+ #
329
+ # A customer may have multiple attributes that control its behavior. You may link or unlink attributes to a
330
+ # customer at any time. The full list of defined attributes may be found using `QueryCompanyCustomerAttributes` API.
331
+ #
332
+ # A customer object defines information about a person or business that purchases products from your
333
+ # company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this
334
+ # record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and
335
+ # identify any certificates linked to this customer object. If any certificate applies to the transaction,
336
+ # AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`.
337
+ #
338
+ # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
339
+ # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
340
+ # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
341
+ # storage for this company, call `RequestCertificateSetup`.
342
+ #
343
+ # ### Security Policies
344
+ #
345
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
346
+ # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
347
+ # @param companyId [Integer] The unique ID number of the company that recorded the customer
348
+ # @param customerCode [String] The unique code representing the current customer
349
+ # @param model [CustomerAttributeModel[]] The list of attributes to unlink from the customer.
350
+ # @return [FetchResult]
351
+ def unlink_attributes_from_customer(companyId, customerCode, model)
352
+ path = "/api/v2/companies/#{companyId}/customers/#{customerCode}/attributes/unlink"
353
+ put(path, model)
354
+ end
355
+
356
+
260
357
  # Unlink certificates from a customer
261
358
  #
262
359
  # Remove one or more certificates to a customer.
@@ -24,6 +24,486 @@ module AvaTax
24
24
  get(path, options)
25
25
  end
26
26
 
27
+
28
+ # Approve existing Filing Request
29
+ #
30
+ # This API is available by invitation only.
31
+ # A "filing request" represents a request to change an existing filing calendar. Filing requests
32
+ # are reviewed and validated by Avalara Compliance before being implemented.
33
+ # The filing request must be in the "ChangeRequest" status to be approved.
34
+ #
35
+ # ### Security Policies
36
+ #
37
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
38
+ # * 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.
39
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
40
+ # @param companyId [Integer] The unique ID of the company that owns the filing request object
41
+ # @param id [Integer] The unique ID of the filing request object
42
+ # @return [Object]
43
+ def approve_filing_request(companyId, id)
44
+ path = "/api/v2/companies/#{companyId}/filingrequests/#{id}/approve"
45
+ post(path)
46
+ end
47
+
48
+
49
+ # Cancel existing Filing Request
50
+ #
51
+ # This API is available by invitation only.
52
+ # A "filing request" represents a request to change an existing filing calendar. Filing requests
53
+ # are reviewed and validated by Avalara Compliance before being implemented.
54
+ #
55
+ # ### Security Policies
56
+ #
57
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
58
+ # * 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.
59
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
60
+ # @param companyId [Integer] The unique ID of the company that owns the filing request object
61
+ # @param id [Integer] The unique ID of the filing request object
62
+ # @return [Object]
63
+ def cancel_filing_request(companyId, id)
64
+ path = "/api/v2/companies/#{companyId}/filingrequests/#{id}/cancel"
65
+ post(path)
66
+ end
67
+
68
+
69
+ # Create a new filing request to cancel a filing calendar
70
+ #
71
+ # This API is available by invitation only.
72
+ #
73
+ # A "filing request" represents a request to change an existing filing calendar. Filing requests
74
+ # are reviewed and validated by Avalara Compliance before being implemented.
75
+ #
76
+ # ### Security Policies
77
+ #
78
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
79
+ # * 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.
80
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
81
+ # @param companyId [Integer] The unique ID of the company that owns the filing calendar object
82
+ # @param id [Integer] The unique ID number of the filing calendar to cancel
83
+ # @param model [FilingRequestModel[]] The cancellation request for this filing calendar
84
+ # @return [Object]
85
+ def cancel_filing_requests(companyId, id, model)
86
+ path = "/api/v2/companies/#{companyId}/filingcalendars/#{id}/cancel/request"
87
+ post(path, model)
88
+ end
89
+
90
+
91
+ # Create a filing calendar
92
+ #
93
+ # This API is available by invitation only and only available for users with Compliance access
94
+ # A "filing request" represents information that compliance uses to file a return
95
+ #
96
+ # ### Security Policies
97
+ #
98
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
99
+ # * 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.
100
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
101
+ # @param companyId [Integer] The unique ID of the company that will add the new filing calendar
102
+ # @param model [FilingCalendarModel[]] Filing calendars that will be added
103
+ # @return [FilingCalendarModel[]]
104
+ def create_filing_calendars(companyId, model)
105
+ path = "/api/v2/companies/#{companyId}/filingcalendars"
106
+ post(path, model)
107
+ end
108
+
109
+
110
+ # Create a new filing request to create a filing calendar
111
+ #
112
+ # This API is available by invitation only.
113
+ # A "filing request" represents a request to change an existing filing calendar. Filing requests
114
+ # are reviewed and validated by Avalara Compliance before being implemented.
115
+ #
116
+ # ### Security Policies
117
+ #
118
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
119
+ # * 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.
120
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
121
+ # @param companyId [Integer] The unique ID of the company that will add the new filing calendar
122
+ # @param model [FilingRequestModel[]] Information about the proposed new filing calendar
123
+ # @return [FilingRequestModel[]]
124
+ def create_filing_requests(companyId, model)
125
+ path = "/api/v2/companies/#{companyId}/filingcalendars/add/request"
126
+ post(path, model)
127
+ end
128
+
129
+
130
+ # Create a company return setting
131
+ #
132
+ # This API is available by invitation only and only available for users with Compliance access
133
+ #
134
+ # ### Security Policies
135
+ #
136
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
137
+ # @param companyId [Integer] The unique ID of the company that will add the new filing calendar
138
+ # @param filingCalendarId [Integer] The unique ID of the filing calendar that will add the new filing calendar setting
139
+ # @param model [CompanyReturnSettingModel[]] CompanyReturnSettings that will be added
140
+ # @return [CompanyReturnSettingModel[]]
141
+ def create_update_company_return_settings(companyId, filingCalendarId, model)
142
+ path = "/api/v2/companies/#{companyId}/filingcalendars/#{filingCalendarId}/settings"
143
+ post(path, model)
144
+ end
145
+
146
+
147
+ # Returns a list of options for adding the specified form.
148
+ #
149
+ # This API is available by invitation only.
150
+ #
151
+ # ### Security Policies
152
+ #
153
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
154
+ # * 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.
155
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
156
+ # @param companyId [Integer] The unique ID of the company that owns the filing calendar object
157
+ # @param formCode [String] The unique code of the form
158
+ # @return [CycleAddOptionModel[]]
159
+ def cycle_safe_add(companyId, options={})
160
+ path = "/api/v2/companies/#{companyId}/filingcalendars/add/options"
161
+ get(path, options)
162
+ end
163
+
164
+
165
+ # Indicates when changes are allowed to be made to a filing calendar.
166
+ #
167
+ # This API is available by invitation only.
168
+ #
169
+ # ### Security Policies
170
+ #
171
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
172
+ # * 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.
173
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
174
+ # @param companyId [Integer] The unique ID of the company that owns the filing calendar object
175
+ # @param id [Integer] The unique ID of the filing calendar object
176
+ # @param model [FilingCalendarEditModel[]] A list of filing calendar edits to be made
177
+ # @return [Object]
178
+ def cycle_safe_edit(companyId, id, model)
179
+ path = "/api/v2/companies/#{companyId}/filingcalendars/#{id}/edit/options"
180
+ post(path, model)
181
+ end
182
+
183
+
184
+ # Returns a list of options for expiring a filing calendar
185
+ #
186
+ # This API is available by invitation only.
187
+ #
188
+ # ### Security Policies
189
+ #
190
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
191
+ # * 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.
192
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
193
+ # @param companyId [Integer] The unique ID of the company that owns the filing calendar object
194
+ # @param id [Integer] The unique ID of the filing calendar object
195
+ # @return [Object]
196
+ def cycle_safe_expiration(companyId, id)
197
+ path = "/api/v2/companies/#{companyId}/filingcalendars/#{id}/cancel/options"
198
+ get(path)
199
+ end
200
+
201
+
202
+ # Delete a single filing calendar.
203
+ #
204
+ # This API is available by invitation only.
205
+ # Mark the existing notice object at this URL as deleted.
206
+ # A 'notice' represents a letter sent to a business by a tax authority regarding tax filing issues. Avalara
207
+ # Returns customers often receive support and assistance from the Compliance Notices team in handling notices received by taxing authorities.
208
+ #
209
+ # ### Security Policies
210
+ #
211
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
212
+ # * 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.
213
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
214
+ # @param companyId [Integer] The ID of the company that owns this filing calendar.
215
+ # @param id [Integer] The ID of the filing calendar you wish to delete.
216
+ # @return [ErrorDetail[]]
217
+ def delete_filing_calendar(companyId, id)
218
+ path = "/api/v2/companies/#{companyId}/filingcalendars/#{id}"
219
+ delete(path)
220
+ end
221
+
222
+
223
+ # Retrieve a single filing calendar
224
+ #
225
+ # This API is available by invitation only.
226
+ #
227
+ # ### Security Policies
228
+ #
229
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
230
+ # * 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.
231
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
232
+ # @param companyId [Integer] The ID of the company that owns this filing calendar
233
+ # @param id [Integer] The primary key of this filing calendar
234
+ # @return [Object]
235
+ def get_filing_calendar(companyId, id)
236
+ path = "/api/v2/companies/#{companyId}/filingcalendars/#{id}"
237
+ get(path)
238
+ end
239
+
240
+
241
+ # Retrieve a single filing request
242
+ #
243
+ # This API is available by invitation only.
244
+ # A "filing request" represents a request to change an existing filing calendar. Filing requests
245
+ # are reviewed and validated by Avalara Compliance before being implemented.
246
+ #
247
+ # ### Security Policies
248
+ #
249
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
250
+ # * 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.
251
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
252
+ # @param companyId [Integer] The ID of the company that owns this filing calendar
253
+ # @param id [Integer] The primary key of this filing calendar
254
+ # @return [Object]
255
+ def get_filing_request(companyId, id)
256
+ path = "/api/v2/companies/#{companyId}/filingrequests/#{id}"
257
+ get(path)
258
+ end
259
+
260
+
261
+ # Retrieve all filing calendars for this company
262
+ #
263
+ # This API is available by invitation only.
264
+ #
265
+ # ### Security Policies
266
+ #
267
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
268
+ # * 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.
269
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
270
+ # @param companyId [Integer] The ID of the company that owns these batches
271
+ # @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:* taxAuthorityId, taxAuthorityName, taxAuthorityType, settings
272
+ # @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.
273
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
274
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
275
+ # @param returnCountry [String] A comma separated list of countries
276
+ # @param returnRegion [String] A comma separated list of regions
277
+ # @return [FetchResult]
278
+ def list_filing_calendars(companyId, options={})
279
+ path = "/api/v2/companies/#{companyId}/filingcalendars"
280
+ get(path, options)
281
+ end
282
+
283
+
284
+ # Retrieve all filing requests for this company
285
+ #
286
+ # This API is available by invitation only.
287
+ # A "filing request" represents a request to change an existing filing calendar. Filing requests
288
+ # are reviewed and validated by Avalara Compliance before being implemented.
289
+ #
290
+ # ### Security Policies
291
+ #
292
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
293
+ # * 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.
294
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
295
+ # @param companyId [Integer] The ID of the company that owns these batches
296
+ # @param filingCalendarId [Integer] Specific filing calendar id for the request
297
+ # @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/).
298
+ # @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.
299
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
300
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
301
+ # @return [FetchResult]
302
+ def list_filing_requests(companyId, options={})
303
+ path = "/api/v2/companies/#{companyId}/filingrequests"
304
+ get(path, options)
305
+ end
306
+
307
+
308
+ # New request for getting for validating customer's login credentials
309
+ #
310
+ # This API is available by invitation only.
311
+ #
312
+ # This API verifies that a customer has submitted correct login credentials for a tax authority's online filing system.
313
+ #
314
+ # ### Security Policies
315
+ #
316
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
317
+ # * 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.
318
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
319
+ # @param model [Object] The model of the login information we are verifying
320
+ # @return [Object]
321
+ def login_verification_request(model)
322
+ path = "/api/v2/filingcalendars/credentials/verify"
323
+ post(path, model)
324
+ end
325
+
326
+
327
+ # Gets the request status and Login Result
328
+ #
329
+ # This API is available by invitation only.
330
+ #
331
+ # This API checks the status of a login verification request. It may only be called by authorized users from the account
332
+ # that initially requested the login verification.
333
+ #
334
+ # ### Security Policies
335
+ #
336
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
337
+ # * 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.
338
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
339
+ # @param jobId [Integer] The unique ID number of this login request
340
+ # @return [Object]
341
+ def login_verification_status(jobId)
342
+ path = "/api/v2/filingcalendars/credentials/#{jobId}"
343
+ get(path)
344
+ end
345
+
346
+
347
+ # Retrieve all filing calendars
348
+ #
349
+ # This API is available by invitation only.
350
+ #
351
+ # This API is deprecated - please use POST `/api/v2/filingrequests/query` API.
352
+ #
353
+ # ### Security Policies
354
+ #
355
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
356
+ # * 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.
357
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
358
+ # @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:* taxAuthorityId, taxAuthorityName, taxAuthorityType, settings
359
+ # @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.
360
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
361
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
362
+ # @param returnCountry [String] If specified, fetches only filing calendars that apply to tax filings in this specific country. Uses ISO 3166 country codes.
363
+ # @param returnRegion [String] If specified, fetches only filing calendars that apply to tax filings in this specific region. Uses ISO 3166 region codes.
364
+ # @return [FetchResult]
365
+ def query_filing_calendars(options={})
366
+ path = "/api/v2/filingcalendars"
367
+ get(path, options)
368
+ end
369
+
370
+
371
+ # Retrieve all filing calendars
372
+ #
373
+ # This API is available by invitation only.
374
+ #
375
+ # This API is intended to replace the GET `/api/v2/filingcalendars` 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.
376
+ # The documentation of the GET API shows how filtering, sorting and pagination works.
377
+ #
378
+ # ### Security Policies
379
+ #
380
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
381
+ # * 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.
382
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
383
+ # @param returnCountry [String] If specified, fetches only filing calendars that apply to tax filings in this specific country. Uses ISO 3166 country codes.
384
+ # @param returnRegion [String] If specified, fetches only filing calendars that apply to tax filings in this specific region. Uses ISO 3166 region codes.
385
+ # @param model [Object] Query object to filter, sort and paginate the filing calendars.
386
+ # @return [FetchResult]
387
+ def query_filing_calendars_post(model, options={})
388
+ path = "/api/v2/filingcalendars/query"
389
+ post(path, model, options)
390
+ end
391
+
392
+
393
+ # Retrieve all filing requests
394
+ #
395
+ # This API is available by invitation only.
396
+ #
397
+ # This API is deprecated - please use POST `/api/v2/filingrequests/query` API.
398
+ #
399
+ # A "filing request" represents a request to change an existing filing calendar. Filing requests
400
+ # are reviewed and validated by Avalara Compliance before being implemented.
401
+ #
402
+ # 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/) .
403
+ # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
404
+ #
405
+ # ### Security Policies
406
+ #
407
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
408
+ # * 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.
409
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
410
+ # @param filingCalendarId [Integer] Specific filing calendar id for the request
411
+ # @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/).
412
+ # @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.
413
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
414
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
415
+ # @return [FetchResult]
416
+ def query_filing_requests(options={})
417
+ path = "/api/v2/filingrequests"
418
+ get(path, options)
419
+ end
420
+
421
+
422
+ # Retrieve all filing requests
423
+ #
424
+ # This API is available by invitation only.
425
+ #
426
+ # This API is intended to replace the GET `/api/v2/filingrequests` 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.
427
+ # The documentation of the GET API shows how filtering, sorting and pagination works.
428
+ #
429
+ # ### Security Policies
430
+ #
431
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
432
+ # * 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.
433
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
434
+ # @param filingCalendarId [Integer] Specific filing calendar id for the request
435
+ # @param model [Object] Query object to filter, sort and paginate the filing calendars.
436
+ # @return [FetchResult]
437
+ def query_filing_requests_post(model, options={})
438
+ path = "/api/v2/filingrequests/query"
439
+ post(path, model, options)
440
+ end
441
+
442
+
443
+ # Create a new filing request to edit a filing calendar
444
+ #
445
+ # This API is available by invitation only.
446
+ #
447
+ # A "filing request" represents a request to change an existing filing calendar. Filing requests
448
+ # are reviewed and validated by Avalara Compliance before being implemented.
449
+ #
450
+ # Certain users may not update filing calendars directly. Instead, they may submit an edit request
451
+ # to modify the value of a filing calendar using this API.
452
+ #
453
+ # ### Security Policies
454
+ #
455
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
456
+ # * 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.
457
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
458
+ # @param companyId [Integer] The unique ID of the company that owns the filing calendar object
459
+ # @param id [Integer] The unique ID number of the filing calendar to edit
460
+ # @param model [FilingRequestModel[]] A list of filing calendar edits to be made
461
+ # @return [Object]
462
+ def request_filing_calendar_update(companyId, id, model)
463
+ path = "/api/v2/companies/#{companyId}/filingcalendars/#{id}/edit/request"
464
+ post(path, model)
465
+ end
466
+
467
+
468
+ # Edit existing Filing Calendar
469
+ #
470
+ # This API is available by invitation only.
471
+ #
472
+ # ### Security Policies
473
+ #
474
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
475
+ # * 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.
476
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
477
+ # @param companyId [Integer] The unique ID of the company that owns the filing calendar object
478
+ # @param id [Integer] The unique ID of the filing calendar object
479
+ # @param model [Object] The filing calendar model you are wishing to update with.
480
+ # @return [Object]
481
+ def update_filing_calendar(companyId, id, model)
482
+ path = "/api/v2/companies/#{companyId}/filingcalendars/#{id}"
483
+ put(path, model)
484
+ end
485
+
486
+
487
+ # Edit existing Filing Request
488
+ #
489
+ # This API is available by invitation only.
490
+ # A "filing request" represents a request to change an existing filing calendar. Filing requests
491
+ # are reviewed and validated by Avalara Compliance before being implemented.
492
+ #
493
+ # ### Security Policies
494
+ #
495
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
496
+ # * 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.
497
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
498
+ # @param companyId [Integer] The unique ID of the company that owns the filing request object
499
+ # @param id [Integer] The unique ID of the filing request object
500
+ # @param model [Object] A list of filing calendar edits to be made
501
+ # @return [Object]
502
+ def update_filing_request(companyId, id, model)
503
+ path = "/api/v2/companies/#{companyId}/filingrequests/#{id}"
504
+ put(path, model)
505
+ end
506
+
27
507
  end
28
508
  end
29
509
  end