avatax 19.7.0 → 19.8.0

Sign up to get free protection for your applications and to get access to all the features.
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