avatax 19.12.0 → 20.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +5 -5
  2. data/avatax.gemspec +0 -1
  3. data/lib/avatax/client/accounts.rb +269 -193
  4. data/lib/avatax/client/addresses.rb +60 -60
  5. data/lib/avatax/client/advancedrules.rb +81 -162
  6. data/lib/avatax/client/avafileforms.rb +93 -93
  7. data/lib/avatax/client/batches.rb +247 -188
  8. data/lib/avatax/client/certexpressinvites.rb +106 -106
  9. data/lib/avatax/client/certificates.rb +469 -469
  10. data/lib/avatax/client/companies.rb +400 -398
  11. data/lib/avatax/client/compliance.rb +18 -18
  12. data/lib/avatax/client/contacts.rb +124 -124
  13. data/lib/avatax/client/customers.rb +415 -415
  14. data/lib/avatax/client/datasources.rb +117 -117
  15. data/lib/avatax/client/definitions.rb +1039 -1007
  16. data/lib/avatax/client/distancethresholds.rb +140 -140
  17. data/lib/avatax/client/filingcalendars.rb +23 -508
  18. data/lib/avatax/client/filings.rb +29 -29
  19. data/lib/avatax/client/firmclientlinkages.rb +150 -150
  20. data/lib/avatax/client/free.rb +109 -109
  21. data/lib/avatax/client/fundingrequests.rb +58 -58
  22. data/lib/avatax/client/items.rb +480 -480
  23. data/lib/avatax/client/jurisdictionoverrides.rb +136 -136
  24. data/lib/avatax/client/locations.rb +163 -160
  25. data/lib/avatax/client/multidocument.rb +420 -340
  26. data/lib/avatax/client/nexus.rb +240 -225
  27. data/lib/avatax/client/notifications.rb +84 -84
  28. data/lib/avatax/client/provisioning.rb +55 -55
  29. data/lib/avatax/client/registrar.rb +228 -228
  30. data/lib/avatax/client/reports.rb +109 -109
  31. data/lib/avatax/client/settings.rb +174 -174
  32. data/lib/avatax/client/subscriptions.rb +71 -71
  33. data/lib/avatax/client/taxcodes.rb +138 -138
  34. data/lib/avatax/client/taxcontent.rb +142 -142
  35. data/lib/avatax/client/taxrules.rb +188 -188
  36. data/lib/avatax/client/transactions.rb +899 -854
  37. data/lib/avatax/client/upcs.rb +129 -129
  38. data/lib/avatax/client/users.rb +207 -207
  39. data/lib/avatax/client/utilities.rb +70 -70
  40. data/lib/avatax/connection.rb +3 -3
  41. data/lib/avatax/request.rb +2 -0
  42. data/lib/avatax/version.rb +1 -1
  43. metadata +4 -25
@@ -1,130 +1,130 @@
1
- module AvaTax
2
- class Client
3
- module Upcs
4
-
5
-
6
- # Create a new UPC
7
- #
8
- # Create one or more new UPC objects attached to this company.
9
- # A UPC represents a single UPC code in your catalog and matches this product to the tax code identified by this UPC.
10
- #
11
- # ### Security Policies
12
- #
13
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
14
- # * This API depends on the following active services<br />*Required* (all): AvaUpc.
15
- # @param companyId [Integer] The ID of the company that owns this UPC.
16
- # @param model [UPCModel[]] The UPC you wish to create.
17
- # @return [UPCModel[]]
18
- def create_u_p_cs(companyId, model)
19
- path = "/api/v2/companies/#{companyId}/upcs"
20
- post(path, model)
21
- end
22
-
23
-
24
- # Delete a single UPC
25
- #
26
- # Marks the UPC object identified by this URL as deleted.
27
- #
28
- # ### Security Policies
29
- #
30
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
31
- # * This API depends on the following active services<br />*Required* (all): AvaUpc.
32
- # @param companyId [Integer] The ID of the company that owns this UPC.
33
- # @param id [Integer] The ID of the UPC you wish to delete.
34
- # @return [ErrorDetail[]]
35
- def delete_u_p_c(companyId, id)
36
- path = "/api/v2/companies/#{companyId}/upcs/#{id}"
37
- delete(path)
38
- end
39
-
40
-
41
- # Retrieve a single UPC
42
- #
43
- # Get the UPC object identified by this URL.
44
- # A UPC represents a single UPC code in your catalog and matches this product to the tax code identified by this UPC.
45
- #
46
- # ### Security Policies
47
- #
48
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
49
- # * This API depends on the following active services<br />*Required* (all): AvaUpc.
50
- # @param companyId [Integer] The ID of the company that owns this UPC
51
- # @param id [Integer] The primary key of this UPC
52
- # @return [Object]
53
- def get_u_p_c(companyId, id)
54
- path = "/api/v2/companies/#{companyId}/upcs/#{id}"
55
- get(path)
56
- end
57
-
58
-
59
- # Retrieve UPCs for this company
60
- #
61
- # List all UPC objects attached to this company.
62
- # A UPC represents a single UPC code in your catalog and matches this product to the tax code identified by this UPC.
63
- #
64
- # 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/) .
65
- # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
66
- #
67
- # ### Security Policies
68
- #
69
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
70
- # * This API depends on the following active services<br />*Required* (all): AvaUpc.
71
- # @param companyId [Integer] The ID of the company that owns these UPCs
72
- # @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/).
73
- # @param include [String] A comma separated list of additional data to retrieve.
74
- # @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.
75
- # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
76
- # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
77
- # @return [FetchResult]
78
- def list_u_p_cs_by_company(companyId, options={})
79
- path = "/api/v2/companies/#{companyId}/upcs"
80
- get(path, options)
81
- end
82
-
83
-
84
- # Retrieve all UPCs
85
- #
86
- # Get multiple UPC objects across all companies.
87
- # A UPC represents a single UPC code in your catalog and matches this product to the tax code identified by this UPC.
88
- #
89
- # 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/) .
90
- # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
91
- #
92
- # ### Security Policies
93
- #
94
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
95
- # * This API depends on the following active services<br />*Required* (all): AvaUpc.
96
- # @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/).
97
- # @param include [String] A comma separated list of additional data to retrieve.
98
- # @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.
99
- # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
100
- # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
101
- # @return [FetchResult]
102
- def query_u_p_cs(options={})
103
- path = "/api/v2/upcs"
104
- get(path, options)
105
- end
106
-
107
-
108
- # Update a single UPC
109
- #
110
- # Replace the existing UPC object at this URL with an updated object.
111
- # A UPC represents a single UPC code in your catalog and matches this product to the tax code identified by this UPC.
112
- # All data from the existing object will be replaced with data in the object you PUT.
113
- # To set a field's value to null, you may either set its value to null or omit that field from the object you post.
114
- #
115
- # ### Security Policies
116
- #
117
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
118
- # * This API depends on the following active services<br />*Required* (all): AvaUpc.
119
- # @param companyId [Integer] The ID of the company that this UPC belongs to.
120
- # @param id [Integer] The ID of the UPC you wish to update
121
- # @param model [Object] The UPC you wish to update.
122
- # @return [Object]
123
- def update_u_p_c(companyId, id, model)
124
- path = "/api/v2/companies/#{companyId}/upcs/#{id}"
125
- put(path, model)
126
- end
127
-
128
- end
129
- end
1
+ module AvaTax
2
+ class Client
3
+ module Upcs
4
+
5
+
6
+ # Create a new UPC
7
+ #
8
+ # Create one or more new UPC objects attached to this company.
9
+ # A UPC represents a single UPC code in your catalog and matches this product to the tax code identified by this UPC.
10
+ #
11
+ # ### Security Policies
12
+ #
13
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
14
+ # * This API depends on the following active services<br />*Required* (all): AvaUpc.
15
+ # @param companyId [Integer] The ID of the company that owns this UPC.
16
+ # @param model [UPCModel[]] The UPC you wish to create.
17
+ # @return [UPCModel[]]
18
+ def create_u_p_cs(companyId, model)
19
+ path = "/api/v2/companies/#{companyId}/upcs"
20
+ post(path, model)
21
+ end
22
+
23
+
24
+ # Delete a single UPC
25
+ #
26
+ # Marks the UPC object identified by this URL as deleted.
27
+ #
28
+ # ### Security Policies
29
+ #
30
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
31
+ # * This API depends on the following active services<br />*Required* (all): AvaUpc.
32
+ # @param companyId [Integer] The ID of the company that owns this UPC.
33
+ # @param id [Integer] The ID of the UPC you wish to delete.
34
+ # @return [ErrorDetail[]]
35
+ def delete_u_p_c(companyId, id)
36
+ path = "/api/v2/companies/#{companyId}/upcs/#{id}"
37
+ delete(path)
38
+ end
39
+
40
+
41
+ # Retrieve a single UPC
42
+ #
43
+ # Get the UPC object identified by this URL.
44
+ # A UPC represents a single UPC code in your catalog and matches this product to the tax code identified by this UPC.
45
+ #
46
+ # ### Security Policies
47
+ #
48
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
49
+ # * This API depends on the following active services<br />*Required* (all): AvaUpc.
50
+ # @param companyId [Integer] The ID of the company that owns this UPC
51
+ # @param id [Integer] The primary key of this UPC
52
+ # @return [Object]
53
+ def get_u_p_c(companyId, id)
54
+ path = "/api/v2/companies/#{companyId}/upcs/#{id}"
55
+ get(path)
56
+ end
57
+
58
+
59
+ # Retrieve UPCs for this company
60
+ #
61
+ # List all UPC objects attached to this company.
62
+ # A UPC represents a single UPC code in your catalog and matches this product to the tax code identified by this UPC.
63
+ #
64
+ # 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/) .
65
+ # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
66
+ #
67
+ # ### Security Policies
68
+ #
69
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
70
+ # * This API depends on the following active services<br />*Required* (all): AvaUpc.
71
+ # @param companyId [Integer] The ID of the company that owns these UPCs
72
+ # @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/).
73
+ # @param include [String] A comma separated list of additional data to retrieve.
74
+ # @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.
75
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
76
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
77
+ # @return [FetchResult]
78
+ def list_u_p_cs_by_company(companyId, options={})
79
+ path = "/api/v2/companies/#{companyId}/upcs"
80
+ get(path, options)
81
+ end
82
+
83
+
84
+ # Retrieve all UPCs
85
+ #
86
+ # Get multiple UPC objects across all companies.
87
+ # A UPC represents a single UPC code in your catalog and matches this product to the tax code identified by this UPC.
88
+ #
89
+ # 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/) .
90
+ # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
91
+ #
92
+ # ### Security Policies
93
+ #
94
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
95
+ # * This API depends on the following active services<br />*Required* (all): AvaUpc.
96
+ # @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/).
97
+ # @param include [String] A comma separated list of additional data to retrieve.
98
+ # @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.
99
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
100
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
101
+ # @return [FetchResult]
102
+ def query_u_p_cs(options={})
103
+ path = "/api/v2/upcs"
104
+ get(path, options)
105
+ end
106
+
107
+
108
+ # Update a single UPC
109
+ #
110
+ # Replace the existing UPC object at this URL with an updated object.
111
+ # A UPC represents a single UPC code in your catalog and matches this product to the tax code identified by this UPC.
112
+ # All data from the existing object will be replaced with data in the object you PUT.
113
+ # To set a field's value to null, you may either set its value to null or omit that field from the object you post.
114
+ #
115
+ # ### Security Policies
116
+ #
117
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
118
+ # * This API depends on the following active services<br />*Required* (all): AvaUpc.
119
+ # @param companyId [Integer] The ID of the company that this UPC belongs to.
120
+ # @param id [Integer] The ID of the UPC you wish to update
121
+ # @param model [Object] The UPC you wish to update.
122
+ # @return [Object]
123
+ def update_u_p_c(companyId, id, model)
124
+ path = "/api/v2/companies/#{companyId}/upcs/#{id}"
125
+ put(path, model)
126
+ end
127
+
128
+ end
129
+ end
130
130
  end
@@ -1,208 +1,208 @@
1
- module AvaTax
2
- class Client
3
- module Users
4
-
5
-
6
- # Change Password
7
- #
8
- # Allows a user to change their password via an API call.
9
- #
10
- # This API allows an authenticated user to change their password via an API call. This feature is only available
11
- # for accounts that do not use SAML integrated password validation.
12
- #
13
- # This API only allows the currently authenticated user to change their password; it cannot be used to apply to a
14
- # different user than the one authenticating the current API call.
15
- #
16
- # ### Security Policies
17
- #
18
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
19
- # @param model [Object] An object containing your current password and the new password.
20
- # @return [String]
21
- def change_password(model)
22
- path = "/api/v2/passwords"
23
- put(path, model)
24
- end
25
-
26
-
27
- # Create new users
28
- #
29
- # Create one or more new user objects attached to this account.
30
- #
31
- # A user represents one person with access privileges to make API calls and work with a specific account.
32
- #
33
- # Users who are account administrators or company users are permitted to create user records to invite
34
- # additional team members to work with AvaTax.
35
- #
36
- # A newly created user will receive an email inviting them to create their password. This means that you
37
- # must provide a valid email address for all user accounts created.
38
- #
39
- # ### Security Policies
40
- #
41
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
42
- # @param accountId [Integer] The unique ID number of the account where these users will be created.
43
- # @param model [UserModel[]] The user or array of users you wish to create.
44
- # @return [UserModel[]]
45
- def create_users(accountId, model)
46
- path = "/api/v2/accounts/#{accountId}/users"
47
- post(path, model)
48
- end
49
-
50
-
51
- # Delete a single user
52
- #
53
- # Mark the user object identified by this URL as deleted.
54
- #
55
- # This API is available for use by account and company administrators only.
56
- #
57
- # Account and company administrators may only delete users within the appropriate organizations
58
- # they control.
59
- #
60
- # ### Security Policies
61
- #
62
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, CSPTester, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TreasuryAdmin.
63
- # @param id [Integer] The ID of the user you wish to delete.
64
- # @param accountId [Integer] The accountID of the user you wish to delete.
65
- # @return [ErrorDetail[]]
66
- def delete_user(id, accountId)
67
- path = "/api/v2/accounts/#{accountId}/users/#{id}"
68
- delete(path)
69
- end
70
-
71
-
72
- # Retrieve a single user
73
- #
74
- # Get the user object identified by this URL.
75
- # A user represents one person with access privileges to make API calls and work with a specific account.
76
- #
77
- # 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:
78
- #
79
- # * FetchDeleted
80
- #
81
- # ### Security Policies
82
- #
83
- # * 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, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
84
- # @param id [Integer] The ID of the user to retrieve.
85
- # @param accountId [Integer] The accountID of the user you wish to get.
86
- # @param include [String] Optional fetch commands.
87
- # @return [Object]
88
- def get_user(id, accountId, options={})
89
- path = "/api/v2/accounts/#{accountId}/users/#{id}"
90
- get(path, options)
91
- end
92
-
93
-
94
- # Retrieve all entitlements for a single user
95
- #
96
- # Return a list of all entitlements to which this user has rights to access.
97
- # Entitlements are a list of specified API calls the user is permitted to make, a list of identifier numbers for companies the user is
98
- # allowed to use, and an access level identifier that indicates what types of access roles the user is allowed to use.
99
- # This API call is intended to provide a validation endpoint to determine, before making an API call, whether this call is likely to succeed.
100
- # For example, if user 567 within account 999 is attempting to create a new child company underneath company 12345, you could preview the user's
101
- # entitlements and predict whether this call would succeed:
102
- #
103
- # * Retrieve entitlements by calling '/api/v2/accounts/999/users/567/entitlements' . If the call fails, you do not have accurate
104
- # credentials for this user.
105
- # * If the 'accessLevel' field within entitlements is 'None', the call will fail.
106
- # * If the 'accessLevel' field within entitlements is 'SingleCompany' or 'SingleAccount', the call will fail if the companies
107
- # table does not contain the ID number 12345.
108
- # * If the 'permissions' array within entitlements does not contain 'AccountSvc.CompanySave', the call will fail.
109
- #
110
- # For a full list of defined permissions, please use '/api/v2/definitions/permissions' .
111
- #
112
- # ### Security Policies
113
- #
114
- # * 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, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
115
- # @param id [Integer] The ID of the user to retrieve.
116
- # @param accountId [Integer] The accountID of the user you wish to get.
117
- # @return [Object]
118
- def get_user_entitlements(id, accountId)
119
- path = "/api/v2/accounts/#{accountId}/users/#{id}/entitlements"
120
- get(path)
121
- end
122
-
123
-
124
- # Retrieve users for this account
125
- #
126
- # List all user objects attached to this account.
127
- # A user represents one person with access privileges to make API calls and work with a specific account.
128
- #
129
- # When an API is called using a legacy AvaTax License Key, the API log entry is recorded as being performed by a special user attached to that license key.
130
- # By default, this API will not return a listing of license key users. Users with registrar-level security may call this API to list license key users.
131
- #
132
- # 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/) .
133
- # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
134
- #
135
- # 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:
136
- #
137
- # * FetchDeleted
138
- #
139
- # ### Security Policies
140
- #
141
- # * 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, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
142
- # @param accountId [Integer] The accountID of the user you wish to list.
143
- # @param include [String] Optional fetch commands.
144
- # @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/).
145
- # @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.
146
- # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
147
- # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
148
- # @return [FetchResult]
149
- def list_users_by_account(accountId, options={})
150
- path = "/api/v2/accounts/#{accountId}/users"
151
- get(path, options)
152
- end
153
-
154
-
155
- # Retrieve all users
156
- #
157
- # Get multiple user objects across all accounts.
158
- #
159
- # A user represents one person or set of credentials with access privileges to make API calls and work with a specific account. A user can be authenticated
160
- # via either username / password authentication, an OpenID / OAuth Bearer Token, or a legacy AvaTax License Key.
161
- #
162
- # When an API is called using a legacy AvaTax License Key, the API log entry is recorded as being performed by a special user attached to that license key.
163
- # By default, this API will not return a listing of license key users. Users with registrar-level security may call this API to list license key users.
164
- #
165
- # 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/) .
166
- # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
167
- #
168
- # 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:
169
- #
170
- # * FetchDeleted
171
- #
172
- # ### Security Policies
173
- #
174
- # * 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, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
175
- # @param include [String] Optional fetch commands.
176
- # @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/).
177
- # @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.
178
- # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
179
- # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
180
- # @return [FetchResult]
181
- def query_users(options={})
182
- path = "/api/v2/users"
183
- get(path, options)
184
- end
185
-
186
-
187
- # Update a single user
188
- #
189
- # Replace the existing user object at this URL with an updated object.
190
- # A user represents one person with access privileges to make API calls and work with a specific account.
191
- # All data from the existing object will be replaced with data in the object you PUT.
192
- # To set a field's value to null, you may either set its value to null or omit that field from the object you post.
193
- #
194
- # ### Security Policies
195
- #
196
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
197
- # @param id [Integer] The ID of the user you wish to update.
198
- # @param accountId [Integer] The accountID of the user you wish to update.
199
- # @param model [Object] The user object you wish to update.
200
- # @return [Object]
201
- def update_user(id, accountId, model)
202
- path = "/api/v2/accounts/#{accountId}/users/#{id}"
203
- put(path, model)
204
- end
205
-
206
- end
207
- end
1
+ module AvaTax
2
+ class Client
3
+ module Users
4
+
5
+
6
+ # Change Password
7
+ #
8
+ # Allows a user to change their password via an API call.
9
+ #
10
+ # This API allows an authenticated user to change their password via an API call. This feature is only available
11
+ # for accounts that do not use SAML integrated password validation.
12
+ #
13
+ # This API only allows the currently authenticated user to change their password; it cannot be used to apply to a
14
+ # different user than the one authenticating the current API call.
15
+ #
16
+ # ### Security Policies
17
+ #
18
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
19
+ # @param model [Object] An object containing your current password and the new password.
20
+ # @return [String]
21
+ def change_password(model)
22
+ path = "/api/v2/passwords"
23
+ put(path, model)
24
+ end
25
+
26
+
27
+ # Create new users
28
+ #
29
+ # Create one or more new user objects attached to this account.
30
+ #
31
+ # A user represents one person with access privileges to make API calls and work with a specific account.
32
+ #
33
+ # Users who are account administrators or company users are permitted to create user records to invite
34
+ # additional team members to work with AvaTax.
35
+ #
36
+ # A newly created user will receive an email inviting them to create their password. This means that you
37
+ # must provide a valid email address for all user accounts created.
38
+ #
39
+ # ### Security Policies
40
+ #
41
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
42
+ # @param accountId [Integer] The unique ID number of the account where these users will be created.
43
+ # @param model [UserModel[]] The user or array of users you wish to create.
44
+ # @return [UserModel[]]
45
+ def create_users(accountId, model)
46
+ path = "/api/v2/accounts/#{accountId}/users"
47
+ post(path, model)
48
+ end
49
+
50
+
51
+ # Delete a single user
52
+ #
53
+ # Mark the user object identified by this URL as deleted.
54
+ #
55
+ # This API is available for use by account and company administrators only.
56
+ #
57
+ # Account and company administrators may only delete users within the appropriate organizations
58
+ # they control.
59
+ #
60
+ # ### Security Policies
61
+ #
62
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, CSPTester, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TreasuryAdmin.
63
+ # @param id [Integer] The ID of the user you wish to delete.
64
+ # @param accountId [Integer] The accountID of the user you wish to delete.
65
+ # @return [ErrorDetail[]]
66
+ def delete_user(id, accountId)
67
+ path = "/api/v2/accounts/#{accountId}/users/#{id}"
68
+ delete(path)
69
+ end
70
+
71
+
72
+ # Retrieve a single user
73
+ #
74
+ # Get the user object identified by this URL.
75
+ # A user represents one person with access privileges to make API calls and work with a specific account.
76
+ #
77
+ # 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:
78
+ #
79
+ # * FetchDeleted
80
+ #
81
+ # ### Security Policies
82
+ #
83
+ # * 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, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
84
+ # @param id [Integer] The ID of the user to retrieve.
85
+ # @param accountId [Integer] The accountID of the user you wish to get.
86
+ # @param include [String] Optional fetch commands.
87
+ # @return [Object]
88
+ def get_user(id, accountId, options={})
89
+ path = "/api/v2/accounts/#{accountId}/users/#{id}"
90
+ get(path, options)
91
+ end
92
+
93
+
94
+ # Retrieve all entitlements for a single user
95
+ #
96
+ # Return a list of all entitlements to which this user has rights to access.
97
+ # Entitlements are a list of specified API calls the user is permitted to make, a list of identifier numbers for companies the user is
98
+ # allowed to use, and an access level identifier that indicates what types of access roles the user is allowed to use.
99
+ # This API call is intended to provide a validation endpoint to determine, before making an API call, whether this call is likely to succeed.
100
+ # For example, if user 567 within account 999 is attempting to create a new child company underneath company 12345, you could preview the user's
101
+ # entitlements and predict whether this call would succeed:
102
+ #
103
+ # * Retrieve entitlements by calling '/api/v2/accounts/999/users/567/entitlements' . If the call fails, you do not have accurate
104
+ # credentials for this user.
105
+ # * If the 'accessLevel' field within entitlements is 'None', the call will fail.
106
+ # * If the 'accessLevel' field within entitlements is 'SingleCompany' or 'SingleAccount', the call will fail if the companies
107
+ # table does not contain the ID number 12345.
108
+ # * If the 'permissions' array within entitlements does not contain 'AccountSvc.CompanySave', the call will fail.
109
+ #
110
+ # For a full list of defined permissions, please use '/api/v2/definitions/permissions' .
111
+ #
112
+ # ### Security Policies
113
+ #
114
+ # * 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, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
115
+ # @param id [Integer] The ID of the user to retrieve.
116
+ # @param accountId [Integer] The accountID of the user you wish to get.
117
+ # @return [Object]
118
+ def get_user_entitlements(id, accountId)
119
+ path = "/api/v2/accounts/#{accountId}/users/#{id}/entitlements"
120
+ get(path)
121
+ end
122
+
123
+
124
+ # Retrieve users for this account
125
+ #
126
+ # List all user objects attached to this account.
127
+ # A user represents one person with access privileges to make API calls and work with a specific account.
128
+ #
129
+ # When an API is called using a legacy AvaTax License Key, the API log entry is recorded as being performed by a special user attached to that license key.
130
+ # By default, this API will not return a listing of license key users. Users with registrar-level security may call this API to list license key users.
131
+ #
132
+ # 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/) .
133
+ # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
134
+ #
135
+ # 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:
136
+ #
137
+ # * FetchDeleted
138
+ #
139
+ # ### Security Policies
140
+ #
141
+ # * 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, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
142
+ # @param accountId [Integer] The accountID of the user you wish to list.
143
+ # @param include [String] Optional fetch commands.
144
+ # @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/).
145
+ # @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.
146
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
147
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
148
+ # @return [FetchResult]
149
+ def list_users_by_account(accountId, options={})
150
+ path = "/api/v2/accounts/#{accountId}/users"
151
+ get(path, options)
152
+ end
153
+
154
+
155
+ # Retrieve all users
156
+ #
157
+ # Get multiple user objects across all accounts.
158
+ #
159
+ # A user represents one person or set of credentials with access privileges to make API calls and work with a specific account. A user can be authenticated
160
+ # via either username / password authentication, an OpenID / OAuth Bearer Token, or a legacy AvaTax License Key.
161
+ #
162
+ # When an API is called using a legacy AvaTax License Key, the API log entry is recorded as being performed by a special user attached to that license key.
163
+ # By default, this API will not return a listing of license key users. Users with registrar-level security may call this API to list license key users.
164
+ #
165
+ # 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/) .
166
+ # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
167
+ #
168
+ # 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:
169
+ #
170
+ # * FetchDeleted
171
+ #
172
+ # ### Security Policies
173
+ #
174
+ # * 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, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
175
+ # @param include [String] Optional fetch commands.
176
+ # @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/).
177
+ # @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.
178
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
179
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
180
+ # @return [FetchResult]
181
+ def query_users(options={})
182
+ path = "/api/v2/users"
183
+ get(path, options)
184
+ end
185
+
186
+
187
+ # Update a single user
188
+ #
189
+ # Replace the existing user object at this URL with an updated object.
190
+ # A user represents one person with access privileges to make API calls and work with a specific account.
191
+ # All data from the existing object will be replaced with data in the object you PUT.
192
+ # To set a field's value to null, you may either set its value to null or omit that field from the object you post.
193
+ #
194
+ # ### Security Policies
195
+ #
196
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
197
+ # @param id [Integer] The ID of the user you wish to update.
198
+ # @param accountId [Integer] The accountID of the user you wish to update.
199
+ # @param model [Object] The user object you wish to update.
200
+ # @return [Object]
201
+ def update_user(id, accountId, model)
202
+ path = "/api/v2/accounts/#{accountId}/users/#{id}"
203
+ put(path, model)
204
+ end
205
+
206
+ end
207
+ end
208
208
  end