Class AvaTaxClient


  • public class AvaTaxClient
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      AvaTaxClient​(java.lang.String appName, java.lang.String appVersion, java.lang.String machineName, java.lang.String environmentUrl)  
      AvaTaxClient​(java.lang.String appName, java.lang.String appVersion, java.lang.String machineName, java.lang.String environmentUrl, java.lang.String proxyHost, int proxyPort, java.lang.String proxySchema)  
      AvaTaxClient​(java.lang.String appName, java.lang.String appVersion, java.lang.String machineName, java.lang.String environmentUrl, java.lang.String proxyHost, int proxyPort, java.lang.String proxySchema, java.util.concurrent.ExecutorService threadPool)  
      AvaTaxClient​(java.lang.String appName, java.lang.String appVersion, java.lang.String machineName, java.lang.String environmentUrl, java.util.concurrent.ExecutorService threadPool)  
      AvaTaxClient​(java.lang.String appName, java.lang.String appVersion, java.lang.String machineName, java.lang.String environmentUrl, java.util.concurrent.ExecutorService threadPool, org.apache.http.impl.client.HttpClientBuilder httpClientBuilder)  
      AvaTaxClient​(java.lang.String appName, java.lang.String appVersion, java.lang.String machineName, AvaTaxEnvironment environment)  
      AvaTaxClient​(java.lang.String appName, java.lang.String appVersion, java.lang.String machineName, AvaTaxEnvironment environment, java.lang.String proxyHost, int proxyPort, java.lang.String proxySchema)  
      AvaTaxClient​(java.lang.String appName, java.lang.String appVersion, java.lang.String machineName, AvaTaxEnvironment environment, java.lang.String proxyHost, int proxyPort, java.lang.String proxySchema, java.util.concurrent.ExecutorService threadPool)  
      AvaTaxClient​(java.lang.String appName, java.lang.String appVersion, java.lang.String machineName, AvaTaxEnvironment environment, java.util.concurrent.ExecutorService threadPool)  
      AvaTaxClient​(java.lang.String appName, java.lang.String appVersion, java.lang.String machineName, AvaTaxEnvironment environment, java.util.concurrent.ExecutorService threadPool, org.apache.http.impl.client.HttpClientBuilder httpClientBuilder)  
    • Constructor Detail

      • AvaTaxClient

        public AvaTaxClient​(java.lang.String appName,
                            java.lang.String appVersion,
                            java.lang.String machineName,
                            AvaTaxEnvironment environment)
      • AvaTaxClient

        public AvaTaxClient​(java.lang.String appName,
                            java.lang.String appVersion,
                            java.lang.String machineName,
                            java.lang.String environmentUrl)
      • AvaTaxClient

        public AvaTaxClient​(java.lang.String appName,
                            java.lang.String appVersion,
                            java.lang.String machineName,
                            AvaTaxEnvironment environment,
                            java.lang.String proxyHost,
                            int proxyPort,
                            java.lang.String proxySchema)
      • AvaTaxClient

        public AvaTaxClient​(java.lang.String appName,
                            java.lang.String appVersion,
                            java.lang.String machineName,
                            java.lang.String environmentUrl,
                            java.lang.String proxyHost,
                            int proxyPort,
                            java.lang.String proxySchema)
      • AvaTaxClient

        public AvaTaxClient​(java.lang.String appName,
                            java.lang.String appVersion,
                            java.lang.String machineName,
                            AvaTaxEnvironment environment,
                            java.util.concurrent.ExecutorService threadPool)
      • AvaTaxClient

        public AvaTaxClient​(java.lang.String appName,
                            java.lang.String appVersion,
                            java.lang.String machineName,
                            AvaTaxEnvironment environment,
                            java.util.concurrent.ExecutorService threadPool,
                            org.apache.http.impl.client.HttpClientBuilder httpClientBuilder)
      • AvaTaxClient

        public AvaTaxClient​(java.lang.String appName,
                            java.lang.String appVersion,
                            java.lang.String machineName,
                            java.lang.String environmentUrl,
                            java.util.concurrent.ExecutorService threadPool)
      • AvaTaxClient

        public AvaTaxClient​(java.lang.String appName,
                            java.lang.String appVersion,
                            java.lang.String machineName,
                            java.lang.String environmentUrl,
                            java.util.concurrent.ExecutorService threadPool,
                            org.apache.http.impl.client.HttpClientBuilder httpClientBuilder)
      • AvaTaxClient

        public AvaTaxClient​(java.lang.String appName,
                            java.lang.String appVersion,
                            java.lang.String machineName,
                            AvaTaxEnvironment environment,
                            java.lang.String proxyHost,
                            int proxyPort,
                            java.lang.String proxySchema,
                            java.util.concurrent.ExecutorService threadPool)
      • AvaTaxClient

        public AvaTaxClient​(java.lang.String appName,
                            java.lang.String appVersion,
                            java.lang.String machineName,
                            java.lang.String environmentUrl,
                            java.lang.String proxyHost,
                            int proxyPort,
                            java.lang.String proxySchema,
                            java.util.concurrent.ExecutorService threadPool)
    • Method Detail

      • withSecurity

        public AvaTaxClient withSecurity​(java.lang.String securityHeader)
      • withSecurity

        public AvaTaxClient withSecurity​(java.lang.String username,
                                         java.lang.String password)
      • accountResetLicenseKey

        public LicenseKeyModel accountResetLicenseKey​(java.lang.Integer id,
                                                      ResetLicenseKeyModel model)
                                               throws java.lang.Exception
        Reset this account's license key Resets the existing license key for this account to a new key. To reset your account, you must specify the ID of the account you wish to reset and confirm the action. This API is only available to account administrators for the account in question, and may only be called after an account has been activated by reading and accepting Avalara's terms and conditions. To activate your account please log onto the AvaTax website or call the `ActivateAccount` API. You can only reset license with 'Default' license key name. Resetting a license key cannot be undone. Any previous license keys will immediately cease to work when a new key is created. When you call this API, all account administrators for this account will receive an email with the newly updated license key. The email will specify which user reset the license key and it will contain the new key to use to update your connectors. Note: The reset license key functionality will only be available for existing active license key i.e. when you reset license key for the account, the Default license key will be reset.The reset license key functionality is not available for newly created license keys i.e. license keys other than Default ### Security Policies * This API requires one of the following user roles: AccountAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        id - The ID of the account you wish to update.
        model - A request confirming that you wish to reset the license key of this account.
        Returns:
        LicenseKeyModel
        Throws:
        java.lang.Exception
      • accountResetLicenseKeyAsync

        public java.util.concurrent.Future<LicenseKeyModel> accountResetLicenseKeyAsync​(java.lang.Integer id,
                                                                                        ResetLicenseKeyModel model)
        Reset this account's license key Resets the existing license key for this account to a new key. To reset your account, you must specify the ID of the account you wish to reset and confirm the action. This API is only available to account administrators for the account in question, and may only be called after an account has been activated by reading and accepting Avalara's terms and conditions. To activate your account please log onto the AvaTax website or call the `ActivateAccount` API. You can only reset license with 'Default' license key name. Resetting a license key cannot be undone. Any previous license keys will immediately cease to work when a new key is created. When you call this API, all account administrators for this account will receive an email with the newly updated license key. The email will specify which user reset the license key and it will contain the new key to use to update your connectors. Note: The reset license key functionality will only be available for existing active license key i.e. when you reset license key for the account, the Default license key will be reset.The reset license key functionality is not available for newly created license keys i.e. license keys other than Default ### Security Policies * This API requires one of the following user roles: AccountAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        id - The ID of the account you wish to update.
        model - A request confirming that you wish to reset the license key of this account.
        Returns:
        LicenseKeyModel
      • activateAccount

        public AccountModel activateAccount​(java.lang.Integer id,
                                            ActivateAccountModel model)
                                     throws java.lang.Exception
        Activate an account by accepting terms and conditions Activate the account specified by the unique accountId number. This activation request can only be called by account administrators. You must indicate that you have read and accepted Avalara's terms and conditions to call this API. Once you have activated your account, use the `AccountResetLicenseKey` API to generate a license key for your account. If you have not read or accepted the terms and conditions, this API call will return the unchanged account model. ### Security Policies * This API requires one of the following user roles: AccountAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        id - The ID of the account to activate
        model - The activation request
        Returns:
        AccountModel
        Throws:
        java.lang.Exception
      • activateAccountAsync

        public java.util.concurrent.Future<AccountModel> activateAccountAsync​(java.lang.Integer id,
                                                                              ActivateAccountModel model)
        Activate an account by accepting terms and conditions Activate the account specified by the unique accountId number. This activation request can only be called by account administrators. You must indicate that you have read and accepted Avalara's terms and conditions to call this API. Once you have activated your account, use the `AccountResetLicenseKey` API to generate a license key for your account. If you have not read or accepted the terms and conditions, this API call will return the unchanged account model. ### Security Policies * This API requires one of the following user roles: AccountAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        id - The ID of the account to activate
        model - The activation request
        Returns:
        AccountModel
      • auditAccount

        public FetchResult<AuditModel> auditAccount​(java.lang.Integer id,
                                                    java.util.Date start,
                                                    java.util.Date end,
                                                    java.lang.Integer top,
                                                    java.lang.Integer skip)
                                             throws java.lang.Exception
        Retrieve audit history for an account. Retrieve audit trace history for an account. Your audit trace history contains a record of all API calls made against the AvaTax REST API that returned an error. You can use this API to investigate problems and see exactly what information was sent back and forth between your code and AvaTax. When specifying a start and end datetime, please include a valid timezone indicator, such as the "Z" present in the examples for the start and end query parameters. You can learn more about valid time zone designators at https://en.wikipedia.org/wiki/ISO_8601#Time_zone_designators. This API enforces limits to the amount of data retrieved. These limits are subject to change. * You may request data from a maximum of a one-hour time period. * The amount of data and number of API calls returned by this API are limited and may be adjusted at any time. * Old records may be migrated out of immediately available storage. To request older data, please contact your account manager. * New records must migrate to available storage before they can be retrieved. You may need to wait a period of time before newly created records can be fetched. ### Security Policies * 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.
        Parameters:
        id - The ID of the account you wish to audit.
        start - The start datetime of audit history you with to retrieve, e.g. "2018-06-08T17:00:00Z". Defaults to the past 15 minutes.
        end - The end datetime of audit history you with to retrieve, e.g. "2018-06-08T17:15:00Z. Defaults to the current time. Maximum of an hour after the start time.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • auditAccountAsync

        public java.util.concurrent.Future<FetchResult<AuditModel>> auditAccountAsync​(java.lang.Integer id,
                                                                                      java.util.Date start,
                                                                                      java.util.Date end,
                                                                                      java.lang.Integer top,
                                                                                      java.lang.Integer skip)
        Retrieve audit history for an account. Retrieve audit trace history for an account. Your audit trace history contains a record of all API calls made against the AvaTax REST API that returned an error. You can use this API to investigate problems and see exactly what information was sent back and forth between your code and AvaTax. When specifying a start and end datetime, please include a valid timezone indicator, such as the "Z" present in the examples for the start and end query parameters. You can learn more about valid time zone designators at https://en.wikipedia.org/wiki/ISO_8601#Time_zone_designators. This API enforces limits to the amount of data retrieved. These limits are subject to change. * You may request data from a maximum of a one-hour time period. * The amount of data and number of API calls returned by this API are limited and may be adjusted at any time. * Old records may be migrated out of immediately available storage. To request older data, please contact your account manager. * New records must migrate to available storage before they can be retrieved. You may need to wait a period of time before newly created records can be fetched. ### Security Policies * 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.
        Parameters:
        id - The ID of the account you wish to audit.
        start - The start datetime of audit history you with to retrieve, e.g. "2018-06-08T17:00:00Z". Defaults to the past 15 minutes.
        end - The end datetime of audit history you with to retrieve, e.g. "2018-06-08T17:15:00Z. Defaults to the current time. Maximum of an hour after the start time.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        Returns:
        FetchResult
      • createLicenseKey

        public LicenseKeyModel createLicenseKey​(java.lang.Integer id,
                                                AccountLicenseKeyModel model)
                                         throws java.lang.Exception
        Create license key for this account Creates a new license key for this account. To create a license key for your account, you must specify the ID of the account and license key name. This API is only available to account administrators for the account in question, and may only be called after an account has been activated by reading and accepting Avalara's terms and conditions. To activate your account please log onto the AvaTax website or call the `ActivateAccount` API. You will reference this key using license key name. The existing license key will be using 'Default' as license key name. Hence make sure that the license key name is unique per account considering the existing license key name 'Default' ### Security Policies * This API requires one of the following user roles: AccountAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        id - The ID of the account you wish to update.
        model -
        Returns:
        LicenseKeyModel
        Throws:
        java.lang.Exception
      • createLicenseKeyAsync

        public java.util.concurrent.Future<LicenseKeyModel> createLicenseKeyAsync​(java.lang.Integer id,
                                                                                  AccountLicenseKeyModel model)
        Create license key for this account Creates a new license key for this account. To create a license key for your account, you must specify the ID of the account and license key name. This API is only available to account administrators for the account in question, and may only be called after an account has been activated by reading and accepting Avalara's terms and conditions. To activate your account please log onto the AvaTax website or call the `ActivateAccount` API. You will reference this key using license key name. The existing license key will be using 'Default' as license key name. Hence make sure that the license key name is unique per account considering the existing license key name 'Default' ### Security Policies * This API requires one of the following user roles: AccountAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        id - The ID of the account you wish to update.
        model -
        Returns:
        LicenseKeyModel
      • deleteLicenseKey

        public java.util.ArrayList<ErrorDetail> deleteLicenseKey​(java.lang.Integer id,
                                                                 java.lang.String licensekeyname)
                                                          throws java.lang.Exception
        Delete license key for this account by license key name Deletes the license key for this account using license key name. To delete a license key for your account, you must specify the accountID of the account and license key name. This API is only available to account administrators for the account in question. ### Security Policies * This API requires one of the following user roles: AccountAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        id - The ID of the account you wish to update.
        licensekeyname - The license key name you wish to update.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteLicenseKeyAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteLicenseKeyAsync​(java.lang.Integer id,
                                                                                                   java.lang.String licensekeyname)
        Delete license key for this account by license key name Deletes the license key for this account using license key name. To delete a license key for your account, you must specify the accountID of the account and license key name. This API is only available to account administrators for the account in question. ### Security Policies * This API requires one of the following user roles: AccountAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        id - The ID of the account you wish to update.
        licensekeyname - The license key name you wish to update.
        Returns:
        ArrayList
      • getAccount

        public AccountModel getAccount​(java.lang.Integer id,
                                       java.lang.String include)
                                throws java.lang.Exception
        Retrieve a single account Get the account object identified by this URL. You may use the '$include' parameter to fetch additional nested data: * Subscriptions * Users ### Security Policies * 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.
        Parameters:
        id - The ID of the account to retrieve
        include - A comma separated list of special fetch options
        Returns:
        AccountModel
        Throws:
        java.lang.Exception
      • getAccountAsync

        public java.util.concurrent.Future<AccountModel> getAccountAsync​(java.lang.Integer id,
                                                                         java.lang.String include)
        Retrieve a single account Get the account object identified by this URL. You may use the '$include' parameter to fetch additional nested data: * Subscriptions * Users ### Security Policies * 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.
        Parameters:
        id - The ID of the account to retrieve
        include - A comma separated list of special fetch options
        Returns:
        AccountModel
      • getAccountConfiguration

        public java.util.ArrayList<AccountConfigurationModel> getAccountConfiguration​(java.lang.Integer id)
                                                                               throws java.lang.Exception
        Get configuration settings for this account Retrieve a list of all configuration settings tied to this account. Configuration settings provide you with the ability to control features of your account and of your tax software. The category names `TaxServiceConfig` and `AddressServiceConfig` are reserved for Avalara internal software configuration values; to store your own account-level settings, please create a new category name that begins with `X-`, for example, `X-MyCustomCategory`. Account settings are permanent settings that cannot be deleted. You can set the value of an account setting to null if desired. Avalara-based account settings for `TaxServiceConfig` and `AddressServiceConfig` affect your account's tax calculation and address resolution, and should only be changed with care. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        id -
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • getAccountConfigurationAsync

        public java.util.concurrent.Future<java.util.ArrayList<AccountConfigurationModel>> getAccountConfigurationAsync​(java.lang.Integer id)
        Get configuration settings for this account Retrieve a list of all configuration settings tied to this account. Configuration settings provide you with the ability to control features of your account and of your tax software. The category names `TaxServiceConfig` and `AddressServiceConfig` are reserved for Avalara internal software configuration values; to store your own account-level settings, please create a new category name that begins with `X-`, for example, `X-MyCustomCategory`. Account settings are permanent settings that cannot be deleted. You can set the value of an account setting to null if desired. Avalara-based account settings for `TaxServiceConfig` and `AddressServiceConfig` affect your account's tax calculation and address resolution, and should only be changed with care. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        id -
        Returns:
        ArrayList
      • getLicenseKey

        public AccountLicenseKeyModel getLicenseKey​(java.lang.Integer id,
                                                    java.lang.String licensekeyname)
                                             throws java.lang.Exception
        Retrieve license key by license key name ### Security Policies * 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.
        Parameters:
        id - The ID of the account to retrieve
        licensekeyname - The ID of the account to retrieve
        Returns:
        AccountLicenseKeyModel
        Throws:
        java.lang.Exception
      • getLicenseKeyAsync

        public java.util.concurrent.Future<AccountLicenseKeyModel> getLicenseKeyAsync​(java.lang.Integer id,
                                                                                      java.lang.String licensekeyname)
        Retrieve license key by license key name ### Security Policies * 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.
        Parameters:
        id - The ID of the account to retrieve
        licensekeyname - The ID of the account to retrieve
        Returns:
        AccountLicenseKeyModel
      • getLicenseKeys

        public java.util.ArrayList<AccountLicenseKeyModel> getLicenseKeys​(java.lang.Integer id)
                                                                   throws java.lang.Exception
        Retrieve all license keys for this account Gets list of all the license keys used by the account. ### Security Policies * 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.
        Parameters:
        id - The ID of the account to retrieve
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • getLicenseKeysAsync

        public java.util.concurrent.Future<java.util.ArrayList<AccountLicenseKeyModel>> getLicenseKeysAsync​(java.lang.Integer id)
        Retrieve all license keys for this account Gets list of all the license keys used by the account. ### Security Policies * 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.
        Parameters:
        id - The ID of the account to retrieve
        Returns:
        ArrayList
      • queryAccounts

        public FetchResult<AccountModel> queryAccounts​(java.lang.String include,
                                                       java.lang.String filter,
                                                       java.lang.Integer top,
                                                       java.lang.Integer skip,
                                                       java.lang.String orderBy)
                                                throws java.lang.Exception
        Retrieve all accounts List all account objects that can be seen by the current user. This API lists all accounts you are allowed to see. In general, most users will only be able to see their own account. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. 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: * Subscriptions * Users For more information about filtering in REST, please see the documentation at http://developer.avalara.com/avatax/filtering-in-rest/ . ### Security Policies * 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.
        Parameters:
        include - A comma separated list of objects to fetch underneath this account. Any object with a URL path underneath this account can be fetched by specifying its name.
        filter - 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/).
        *Not filterable:* subscriptions, users
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • queryAccountsAsync

        public java.util.concurrent.Future<FetchResult<AccountModel>> queryAccountsAsync​(java.lang.String include,
                                                                                         java.lang.String filter,
                                                                                         java.lang.Integer top,
                                                                                         java.lang.Integer skip,
                                                                                         java.lang.String orderBy)
        Retrieve all accounts List all account objects that can be seen by the current user. This API lists all accounts you are allowed to see. In general, most users will only be able to see their own account. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. 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: * Subscriptions * Users For more information about filtering in REST, please see the documentation at http://developer.avalara.com/avatax/filtering-in-rest/ . ### Security Policies * 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.
        Parameters:
        include - A comma separated list of objects to fetch underneath this account. Any object with a URL path underneath this account can be fetched by specifying its name.
        filter - 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/).
        *Not filterable:* subscriptions, users
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • setAccountConfiguration

        public java.util.ArrayList<AccountConfigurationModel> setAccountConfiguration​(java.lang.Integer id,
                                                                                      java.util.ArrayList<AccountConfigurationModel> model)
                                                                               throws java.lang.Exception
        Change configuration settings for this account Update configuration settings tied to this account. Configuration settings provide you with the ability to control features of your account and of your tax software. The category names `TaxServiceConfig` and `AddressServiceConfig` are reserved for Avalara internal software configuration values; to store your own account-level settings, please create a new category name that begins with `X-`, for example, `X-MyCustomCategory`. Account settings are permanent settings that cannot be deleted. You can set the value of an account setting to null if desired. Avalara-based account settings for `TaxServiceConfig` and `AddressServiceConfig` affect your account's tax calculation and address resolution, and should only be changed with care. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        id -
        model -
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • setAccountConfigurationAsync

        public java.util.concurrent.Future<java.util.ArrayList<AccountConfigurationModel>> setAccountConfigurationAsync​(java.lang.Integer id,
                                                                                                                        java.util.ArrayList<AccountConfigurationModel> model)
        Change configuration settings for this account Update configuration settings tied to this account. Configuration settings provide you with the ability to control features of your account and of your tax software. The category names `TaxServiceConfig` and `AddressServiceConfig` are reserved for Avalara internal software configuration values; to store your own account-level settings, please create a new category name that begins with `X-`, for example, `X-MyCustomCategory`. Account settings are permanent settings that cannot be deleted. You can set the value of an account setting to null if desired. Avalara-based account settings for `TaxServiceConfig` and `AddressServiceConfig` affect your account's tax calculation and address resolution, and should only be changed with care. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        id -
        model -
        Returns:
        ArrayList
      • resolveAddress

        public AddressResolutionModel resolveAddress​(java.lang.String line1,
                                                     java.lang.String line2,
                                                     java.lang.String line3,
                                                     java.lang.String city,
                                                     java.lang.String region,
                                                     java.lang.String postalCode,
                                                     java.lang.String country,
                                                     TextCase textCase)
                                              throws java.lang.Exception
        Retrieve geolocation information for a specified address Resolve an address against Avalara's address-validation system. If the address can be resolved, this API provides the latitude and longitude of the resolved location. The value 'resolutionQuality' can be used to identify how closely this address can be located. If the address cannot be clearly located, use the 'messages' structure to learn more about problems with this address. This is the same API as the POST /api/v2/addresses/resolve endpoint. Both verbs are supported to provide for flexible implementation. In order to get any evaluation for an address, please provide at least one of the following fields/pairs: 1. postal code 2. line1 + city + region 3. line1 + postal code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AutoAddress.
        Parameters:
        line1 - Line 1
        line2 - Line 2
        line3 - Line 3
        city - City
        region - State / Province / Region
        postalCode - Postal Code / Zip Code
        country - Two character ISO 3166 Country Code (see /api/v2/definitions/countries for a full list)
        textCase - selectable text case for address validation (See TextCase::* for a list of allowable values)
        Returns:
        AddressResolutionModel
        Throws:
        java.lang.Exception
      • resolveAddressAsync

        public java.util.concurrent.Future<AddressResolutionModel> resolveAddressAsync​(java.lang.String line1,
                                                                                       java.lang.String line2,
                                                                                       java.lang.String line3,
                                                                                       java.lang.String city,
                                                                                       java.lang.String region,
                                                                                       java.lang.String postalCode,
                                                                                       java.lang.String country,
                                                                                       TextCase textCase)
        Retrieve geolocation information for a specified address Resolve an address against Avalara's address-validation system. If the address can be resolved, this API provides the latitude and longitude of the resolved location. The value 'resolutionQuality' can be used to identify how closely this address can be located. If the address cannot be clearly located, use the 'messages' structure to learn more about problems with this address. This is the same API as the POST /api/v2/addresses/resolve endpoint. Both verbs are supported to provide for flexible implementation. In order to get any evaluation for an address, please provide at least one of the following fields/pairs: 1. postal code 2. line1 + city + region 3. line1 + postal code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AutoAddress.
        Parameters:
        line1 - Line 1
        line2 - Line 2
        line3 - Line 3
        city - City
        region - State / Province / Region
        postalCode - Postal Code / Zip Code
        country - Two character ISO 3166 Country Code (see /api/v2/definitions/countries for a full list)
        textCase - selectable text case for address validation (See TextCase::* for a list of allowable values)
        Returns:
        AddressResolutionModel
      • resolveAddressPost

        public AddressResolutionModel resolveAddressPost​(AddressValidationInfo model)
                                                  throws java.lang.Exception
        Retrieve geolocation information for a specified address Resolve an address against Avalara's address-validation system. If the address can be resolved, this API provides the latitude and longitude of the resolved location. The value 'resolutionQuality' can be used to identify how closely this address can be located. If the address cannot be clearly located, use the 'messages' structure to learn more about problems with this address. This is the same API as the GET /api/v2/addresses/resolve endpoint. Both verbs are supported to provide for flexible implementation. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AutoAddress.
        Parameters:
        model - The address to resolve
        Returns:
        AddressResolutionModel
        Throws:
        java.lang.Exception
      • resolveAddressPostAsync

        public java.util.concurrent.Future<AddressResolutionModel> resolveAddressPostAsync​(AddressValidationInfo model)
        Retrieve geolocation information for a specified address Resolve an address against Avalara's address-validation system. If the address can be resolved, this API provides the latitude and longitude of the resolved location. The value 'resolutionQuality' can be used to identify how closely this address can be located. If the address cannot be clearly located, use the 'messages' structure to learn more about problems with this address. This is the same API as the GET /api/v2/addresses/resolve endpoint. Both verbs are supported to provide for flexible implementation. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AutoAddress.
        Parameters:
        model - The address to resolve
        Returns:
        AddressResolutionModel
      • createCompanyLookupFile

        public AdvancedRuleLookupFileModel createCompanyLookupFile​(java.lang.Integer accountId,
                                                                   java.lang.Integer companyId,
                                                                   AdvancedRuleLookupFileModel model)
                                                            throws java.lang.Exception
        Create a lookup file for a company
        Parameters:
        accountId - The ID of the account for the company
        companyId - The ID of the company for which the lookup file is to be created
        model - The lookup file you wish to create
        Returns:
        AdvancedRuleLookupFileModel
        Throws:
        java.lang.Exception
      • createCompanyLookupFileAsync

        public java.util.concurrent.Future<AdvancedRuleLookupFileModel> createCompanyLookupFileAsync​(java.lang.Integer accountId,
                                                                                                     java.lang.Integer companyId,
                                                                                                     AdvancedRuleLookupFileModel model)
        Create a lookup file for a company
        Parameters:
        accountId - The ID of the account for the company
        companyId - The ID of the company for which the lookup file is to be created
        model - The lookup file you wish to create
        Returns:
        AdvancedRuleLookupFileModel
      • deleteLookupFile

        public java.util.ArrayList<ErrorDetail> deleteLookupFile​(java.lang.Integer accountId,
                                                                 java.lang.String id)
                                                          throws java.lang.Exception
        Delete a lookup file
        Parameters:
        accountId - The ID of the account for the company the lookup file is for
        id - The unique ID/GUID for the company lookup file to be deleted
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteLookupFileAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteLookupFileAsync​(java.lang.Integer accountId,
                                                                                                   java.lang.String id)
        Delete a lookup file
        Parameters:
        accountId - The ID of the account for the company the lookup file is for
        id - The unique ID/GUID for the company lookup file to be deleted
        Returns:
        ArrayList
      • getCompanyLookupFiles

        public FetchResult<AdvancedRuleLookupFileModel> getCompanyLookupFiles​(java.lang.Integer accountId,
                                                                              java.lang.Integer companyId)
                                                                       throws java.lang.Exception
        Get the lookup files for a company
        Parameters:
        accountId - The account ID for the company
        companyId - The ID of the company for which to retrieve lookup files
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • getCompanyLookupFilesAsync

        public java.util.concurrent.Future<FetchResult<AdvancedRuleLookupFileModel>> getCompanyLookupFilesAsync​(java.lang.Integer accountId,
                                                                                                                java.lang.Integer companyId)
        Get the lookup files for a company
        Parameters:
        accountId - The account ID for the company
        companyId - The ID of the company for which to retrieve lookup files
        Returns:
        FetchResult
      • getLookupFile

        public AdvancedRuleLookupFileModel getLookupFile​(java.lang.Integer accountId,
                                                         java.lang.String id)
                                                  throws java.lang.Exception
        Get a lookup file for an accountId and companyLookupFileId
        Parameters:
        accountId - The ID of the account for the lookup file
        id - The unique ID/GUID of the company lookup file to return
        Returns:
        AdvancedRuleLookupFileModel
        Throws:
        java.lang.Exception
      • getLookupFileAsync

        public java.util.concurrent.Future<AdvancedRuleLookupFileModel> getLookupFileAsync​(java.lang.Integer accountId,
                                                                                           java.lang.String id)
        Get a lookup file for an accountId and companyLookupFileId
        Parameters:
        accountId - The ID of the account for the lookup file
        id - The unique ID/GUID of the company lookup file to return
        Returns:
        AdvancedRuleLookupFileModel
      • updateLookupFile

        public AdvancedRuleLookupFileModel updateLookupFile​(java.lang.Integer accountId,
                                                            java.lang.String id,
                                                            AdvancedRuleLookupFileModel model)
                                                     throws java.lang.Exception
        Update a lookup file
        Parameters:
        accountId - The ID of the account for the company the lookup file is for
        id - The unique ID/GUID of the company lookup file to be updated
        model - The new values to update the lookup file
        Returns:
        AdvancedRuleLookupFileModel
        Throws:
        java.lang.Exception
      • updateLookupFileAsync

        public java.util.concurrent.Future<AdvancedRuleLookupFileModel> updateLookupFileAsync​(java.lang.Integer accountId,
                                                                                              java.lang.String id,
                                                                                              AdvancedRuleLookupFileModel model)
        Update a lookup file
        Parameters:
        accountId - The ID of the account for the company the lookup file is for
        id - The unique ID/GUID of the company lookup file to be updated
        model - The new values to update the lookup file
        Returns:
        AdvancedRuleLookupFileModel
      • createAvaFileForms

        public java.util.ArrayList<AvaFileFormModel> createAvaFileForms​(java.util.ArrayList<AvaFileFormModel> model)
                                                                 throws java.lang.Exception
        Create a new AvaFileForm Create one or more AvaFileForms A 'AvaFileForm' represents a form supported by our returns team ### Security Policies * This API requires the user role Compliance Root User. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        model - The AvaFileForm you wish to create.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createAvaFileFormsAsync

        public java.util.concurrent.Future<java.util.ArrayList<AvaFileFormModel>> createAvaFileFormsAsync​(java.util.ArrayList<AvaFileFormModel> model)
        Create a new AvaFileForm Create one or more AvaFileForms A 'AvaFileForm' represents a form supported by our returns team ### Security Policies * This API requires the user role Compliance Root User. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        model - The AvaFileForm you wish to create.
        Returns:
        ArrayList
      • deleteAvaFileForm

        public java.util.ArrayList<ErrorDetail> deleteAvaFileForm​(java.lang.Integer id)
                                                           throws java.lang.Exception
        Delete a single AvaFileForm Marks the existing AvaFileForm object at this URL as deleted. ### Security Policies * This API requires one of the following user roles: Compliance Root User, ComplianceUser, FirmAdmin. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        id - The ID of the AvaFileForm you wish to delete.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteAvaFileFormAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteAvaFileFormAsync​(java.lang.Integer id)
        Delete a single AvaFileForm Marks the existing AvaFileForm object at this URL as deleted. ### Security Policies * This API requires one of the following user roles: Compliance Root User, ComplianceUser, FirmAdmin. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        id - The ID of the AvaFileForm you wish to delete.
        Returns:
        ArrayList
      • getAvaFileForm

        public AvaFileFormModel getAvaFileForm​(java.lang.Integer id)
                                        throws java.lang.Exception
        Retrieve a single AvaFileForm Get the AvaFileForm object identified by this URL. ### Security Policies * 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. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        id - The primary key of this AvaFileForm
        Returns:
        AvaFileFormModel
        Throws:
        java.lang.Exception
      • getAvaFileFormAsync

        public java.util.concurrent.Future<AvaFileFormModel> getAvaFileFormAsync​(java.lang.Integer id)
        Retrieve a single AvaFileForm Get the AvaFileForm object identified by this URL. ### Security Policies * 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. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        id - The primary key of this AvaFileForm
        Returns:
        AvaFileFormModel
      • queryAvaFileForms

        public FetchResult<AvaFileFormModel> queryAvaFileForms​(java.lang.String filter,
                                                               java.lang.Integer top,
                                                               java.lang.Integer skip,
                                                               java.lang.String orderBy)
                                                        throws java.lang.Exception
        Retrieve all AvaFileForms 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * 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. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        filter - 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/).
        *Not filterable:* outletTypeId
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • queryAvaFileFormsAsync

        public java.util.concurrent.Future<FetchResult<AvaFileFormModel>> queryAvaFileFormsAsync​(java.lang.String filter,
                                                                                                 java.lang.Integer top,
                                                                                                 java.lang.Integer skip,
                                                                                                 java.lang.String orderBy)
        Retrieve all AvaFileForms 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * 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. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        filter - 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/).
        *Not filterable:* outletTypeId
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • updateAvaFileForm

        public AvaFileFormModel updateAvaFileForm​(java.lang.Integer id,
                                                  AvaFileFormModel model)
                                           throws java.lang.Exception
        Update a AvaFileForm All data from the existing object will be replaced with data in the object you PUT. 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. ### Security Policies * This API requires the user role Compliance Root User. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        id - The ID of the AvaFileForm you wish to update
        model - The AvaFileForm model you wish to update.
        Returns:
        AvaFileFormModel
        Throws:
        java.lang.Exception
      • updateAvaFileFormAsync

        public java.util.concurrent.Future<AvaFileFormModel> updateAvaFileFormAsync​(java.lang.Integer id,
                                                                                    AvaFileFormModel model)
        Update a AvaFileForm All data from the existing object will be replaced with data in the object you PUT. 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. ### Security Policies * This API requires the user role Compliance Root User. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        id - The ID of the AvaFileForm you wish to update
        model - The AvaFileForm model you wish to update.
        Returns:
        AvaFileFormModel
      • cancelBatch

        public BatchModel cancelBatch​(java.lang.Integer companyId,
                                      java.lang.Integer id)
                               throws java.lang.Exception
        Cancel an in progress batch Marks the in progress batch identified by this URL as cancelled. Only JSON batches can be cancelled. If you attempt to cancel a file batch, you will receive an error message. Only in progress batches can be cancelled. If you attempt to cancel a batch that its status is not Waiting or Processing, you will receive an error message. Cancelling an in progress batch does not delete any transactions that were created before the cancellation. Because the batch system processes with a degree of concurrency, and because of batch sizes in the queue vary, AvaTax API is unable to accurately predict when a batch will complete. If high performance processing is required, please use the [CreateTransaction API](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/CreateTransaction/). ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this batch.
        id - The ID of the batch to cancel.
        Returns:
        BatchModel
        Throws:
        java.lang.Exception
      • cancelBatchAsync

        public java.util.concurrent.Future<BatchModel> cancelBatchAsync​(java.lang.Integer companyId,
                                                                        java.lang.Integer id)
        Cancel an in progress batch Marks the in progress batch identified by this URL as cancelled. Only JSON batches can be cancelled. If you attempt to cancel a file batch, you will receive an error message. Only in progress batches can be cancelled. If you attempt to cancel a batch that its status is not Waiting or Processing, you will receive an error message. Cancelling an in progress batch does not delete any transactions that were created before the cancellation. Because the batch system processes with a degree of concurrency, and because of batch sizes in the queue vary, AvaTax API is unable to accurately predict when a batch will complete. If high performance processing is required, please use the [CreateTransaction API](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/CreateTransaction/). ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this batch.
        id - The ID of the batch to cancel.
        Returns:
        BatchModel
      • createBatches

        public java.util.ArrayList<BatchModel> createBatches​(java.lang.Integer companyId,
                                                             java.util.ArrayList<BatchModel> model)
                                                      throws java.lang.Exception
        Create a new batch Create one or more new batch objects attached to this company. Each batch object may have one or more file objects (currently only one file is supported). When a batch is created, it is added to the AvaTax Batch Queue and will be processed as quickly as possible in the order it was received. To check the status of a batch, fetch the batch and retrieve the results of the batch operation. Because the batch system processes with a degree of concurrency, and because of batch sizes in the queue vary, AvaTax API is unable to accurately predict when a batch will complete. If high performance processing is required, please use the [CreateTransaction API](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/CreateTransaction/). The maximum content length of the request body is limited to 28.6 MB. If this limit is exceeded, a 404 Not Found status will be returned (possibly with a CORS error if the API is called from a browser). In this situation, please split the request into smaller batches. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this batch.
        model - The batch you wish to create.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createBatchesAsync

        public java.util.concurrent.Future<java.util.ArrayList<BatchModel>> createBatchesAsync​(java.lang.Integer companyId,
                                                                                               java.util.ArrayList<BatchModel> model)
        Create a new batch Create one or more new batch objects attached to this company. Each batch object may have one or more file objects (currently only one file is supported). When a batch is created, it is added to the AvaTax Batch Queue and will be processed as quickly as possible in the order it was received. To check the status of a batch, fetch the batch and retrieve the results of the batch operation. Because the batch system processes with a degree of concurrency, and because of batch sizes in the queue vary, AvaTax API is unable to accurately predict when a batch will complete. If high performance processing is required, please use the [CreateTransaction API](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/CreateTransaction/). The maximum content length of the request body is limited to 28.6 MB. If this limit is exceeded, a 404 Not Found status will be returned (possibly with a CORS error if the API is called from a browser). In this situation, please split the request into smaller batches. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this batch.
        model - The batch you wish to create.
        Returns:
        ArrayList
      • createTransactionBatch

        public CreateTransactionBatchResponseModel createTransactionBatch​(java.lang.Integer companyId,
                                                                          CreateTransactionBatchRequestModel model)
                                                                   throws java.lang.Exception
        Create a new transaction batch Create a new transaction batch objects attached to this company. When a transaction batch is created, it is added to the AvaTax Batch v2 Queue and will be processed as quickly as possible in the order it was received. To check the status of a batch, fetch the batch and retrieve the results of the batch operation. Because the batch system processes with a degree of concurrency, and because of batch sizes in the queue vary, AvaTax API is unable to accurately predict when a batch will complete. If high performance processing is required, please use the [CreateTransaction API](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/CreateTransaction/). The maximum content length of the request body is limited to 28.6 MB. If this limit is exceeded, a 404 Not Found status will be returned (possibly with a CORS error if the API is called from a browser). In this situation, please split the request into smaller batches. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this batch.
        model - The transaction batch you wish to create.
        Returns:
        CreateTransactionBatchResponseModel
        Throws:
        java.lang.Exception
      • createTransactionBatchAsync

        public java.util.concurrent.Future<CreateTransactionBatchResponseModel> createTransactionBatchAsync​(java.lang.Integer companyId,
                                                                                                            CreateTransactionBatchRequestModel model)
        Create a new transaction batch Create a new transaction batch objects attached to this company. When a transaction batch is created, it is added to the AvaTax Batch v2 Queue and will be processed as quickly as possible in the order it was received. To check the status of a batch, fetch the batch and retrieve the results of the batch operation. Because the batch system processes with a degree of concurrency, and because of batch sizes in the queue vary, AvaTax API is unable to accurately predict when a batch will complete. If high performance processing is required, please use the [CreateTransaction API](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/CreateTransaction/). The maximum content length of the request body is limited to 28.6 MB. If this limit is exceeded, a 404 Not Found status will be returned (possibly with a CORS error if the API is called from a browser). In this situation, please split the request into smaller batches. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this batch.
        model - The transaction batch you wish to create.
        Returns:
        CreateTransactionBatchResponseModel
      • deleteBatch

        public java.util.ArrayList<ErrorDetail> deleteBatch​(java.lang.Integer companyId,
                                                            java.lang.Integer id)
                                                     throws java.lang.Exception
        Delete a single batch Marks the batch identified by this URL as deleted. If you attempt to delete a batch that is being processed, you will receive an error message. Deleting a batch does not delete any transactions that were created by importing the batch. Because the batch system processes with a degree of concurrency, and because of batch sizes in the queue vary, AvaTax API is unable to accurately predict when a batch will complete. If high performance processing is required, please use the [CreateTransaction API](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/CreateTransaction/). ### Security Policies * This API requires one of the following user roles: CSPAdmin, CSPTester, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this batch.
        id - The ID of the batch to delete.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteBatchAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteBatchAsync​(java.lang.Integer companyId,
                                                                                              java.lang.Integer id)
        Delete a single batch Marks the batch identified by this URL as deleted. If you attempt to delete a batch that is being processed, you will receive an error message. Deleting a batch does not delete any transactions that were created by importing the batch. Because the batch system processes with a degree of concurrency, and because of batch sizes in the queue vary, AvaTax API is unable to accurately predict when a batch will complete. If high performance processing is required, please use the [CreateTransaction API](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/CreateTransaction/). ### Security Policies * This API requires one of the following user roles: CSPAdmin, CSPTester, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this batch.
        id - The ID of the batch to delete.
        Returns:
        ArrayList
      • downloadBatch

        public java.lang.String downloadBatch​(java.lang.Integer companyId,
                                              java.lang.Integer batchId,
                                              java.lang.Integer id)
                                       throws java.lang.Exception
        Download a single batch file Download a single batch file identified by this URL. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns this batch
        batchId - The ID of the batch object
        id - The primary key of this batch file object
        Returns:
        String
        Throws:
        java.lang.Exception
      • downloadBatchAsync

        public java.util.concurrent.Future<java.lang.String> downloadBatchAsync​(java.lang.Integer companyId,
                                                                                java.lang.Integer batchId,
                                                                                java.lang.Integer id)
        Download a single batch file Download a single batch file identified by this URL. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns this batch
        batchId - The ID of the batch object
        id - The primary key of this batch file object
        Returns:
        String
      • getBatch

        public BatchModel getBatch​(java.lang.Integer companyId,
                                   java.lang.Integer id)
                            throws java.lang.Exception
        Retrieve a single batch Get the batch object identified by this URL. A batch object is a large collection of API calls stored in a compact file. Use this endpoint to retrieve the results or check the status of a batch. When a batch is created, it is added to the AvaTax Batch Queue and will be processed as quickly as possible in the order it was received. To check the status of a batch, fetch the batch and retrieve the results of the batch operation. Because the batch system processes with a degree of concurrency, and because of batch sizes in the queue vary, AvaTax API is unable to accurately predict when a batch will complete. If high performance processing is required, please use the [CreateTransaction API](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/CreateTransaction/). ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns this batch
        id - The primary key of this batch
        Returns:
        BatchModel
        Throws:
        java.lang.Exception
      • getBatchAsync

        public java.util.concurrent.Future<BatchModel> getBatchAsync​(java.lang.Integer companyId,
                                                                     java.lang.Integer id)
        Retrieve a single batch Get the batch object identified by this URL. A batch object is a large collection of API calls stored in a compact file. Use this endpoint to retrieve the results or check the status of a batch. When a batch is created, it is added to the AvaTax Batch Queue and will be processed as quickly as possible in the order it was received. To check the status of a batch, fetch the batch and retrieve the results of the batch operation. Because the batch system processes with a degree of concurrency, and because of batch sizes in the queue vary, AvaTax API is unable to accurately predict when a batch will complete. If high performance processing is required, please use the [CreateTransaction API](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/CreateTransaction/). ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns this batch
        id - The primary key of this batch
        Returns:
        BatchModel
      • listBatchesByCompany

        public FetchResult<BatchModel> listBatchesByCompany​(java.lang.Integer companyId,
                                                            java.lang.String filter,
                                                            java.lang.String include,
                                                            java.lang.Integer top,
                                                            java.lang.Integer skip,
                                                            java.lang.String orderBy)
                                                     throws java.lang.Exception
        Retrieve all batches for this company List all batch objects attached to the specified company. A batch object is a large collection of API calls stored in a compact file. 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/) . Paginate results using the `$top`, `$skip`, and `$orderby` parameters. Use [GetBatch](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Batches/GetBatch/) to retrieve the results, or check the status, of an individual batch. When a batch is created, it is added to the AvaTax Batch Queue and will be processed as quickly as possible in the order it was received. To check the status of a batch, fetch the batch and retrieve the results of the batch operation. Because the batch system processes with a degree of concurrency, and because of batch sizes in the queue vary, AvaTax API is unable to accurately predict when a batch will complete. If high performance processing is required, please use the [CreateTransaction API](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/CreateTransaction/). ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns these batches
        filter - 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/).
        *Not filterable:* files
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listBatchesByCompanyAsync

        public java.util.concurrent.Future<FetchResult<BatchModel>> listBatchesByCompanyAsync​(java.lang.Integer companyId,
                                                                                              java.lang.String filter,
                                                                                              java.lang.String include,
                                                                                              java.lang.Integer top,
                                                                                              java.lang.Integer skip,
                                                                                              java.lang.String orderBy)
        Retrieve all batches for this company List all batch objects attached to the specified company. A batch object is a large collection of API calls stored in a compact file. 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/) . Paginate results using the `$top`, `$skip`, and `$orderby` parameters. Use [GetBatch](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Batches/GetBatch/) to retrieve the results, or check the status, of an individual batch. When a batch is created, it is added to the AvaTax Batch Queue and will be processed as quickly as possible in the order it was received. To check the status of a batch, fetch the batch and retrieve the results of the batch operation. Because the batch system processes with a degree of concurrency, and because of batch sizes in the queue vary, AvaTax API is unable to accurately predict when a batch will complete. If high performance processing is required, please use the [CreateTransaction API](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/CreateTransaction/). ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns these batches
        filter - 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/).
        *Not filterable:* files
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • queryBatches

        public FetchResult<BatchModel> queryBatches​(java.lang.String filter,
                                                    java.lang.String include,
                                                    java.lang.Integer top,
                                                    java.lang.Integer skip,
                                                    java.lang.String orderBy)
                                             throws java.lang.Exception
        Retrieve all batches Get multiple batch objects across all companies. A batch object is a large collection of API calls stored in a compact file. 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/) . Paginate results using the `$top`, `$skip`, and `$orderby` parameters. When a batch is created, it is added to the AvaTax Batch Queue and will be processed as quickly as possible in the order it was received. To check the status of a batch, fetch the batch and retrieve the results of the batch operation. Because the batch system processes with a degree of concurrency, and because of batch sizes in the queue vary, AvaTax API is unable to accurately predict when a batch will complete. If high performance processing is required, please use the [CreateTransaction API](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/CreateTransaction/). ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        filter - 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/).
        *Not filterable:* files
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • queryBatchesAsync

        public java.util.concurrent.Future<FetchResult<BatchModel>> queryBatchesAsync​(java.lang.String filter,
                                                                                      java.lang.String include,
                                                                                      java.lang.Integer top,
                                                                                      java.lang.Integer skip,
                                                                                      java.lang.String orderBy)
        Retrieve all batches Get multiple batch objects across all companies. A batch object is a large collection of API calls stored in a compact file. 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/) . Paginate results using the `$top`, `$skip`, and `$orderby` parameters. When a batch is created, it is added to the AvaTax Batch Queue and will be processed as quickly as possible in the order it was received. To check the status of a batch, fetch the batch and retrieve the results of the batch operation. Because the batch system processes with a degree of concurrency, and because of batch sizes in the queue vary, AvaTax API is unable to accurately predict when a batch will complete. If high performance processing is required, please use the [CreateTransaction API](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/CreateTransaction/). ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        filter - 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/).
        *Not filterable:* files
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • createCertExpressInvitation

        public java.util.ArrayList<CertExpressInvitationStatusModel> createCertExpressInvitation​(java.lang.Integer companyId,
                                                                                                 java.lang.String customerCode,
                                                                                                 java.util.ArrayList<CreateCertExpressInvitationModel> model)
                                                                                          throws java.lang.Exception
        Create a CertExpress invitation Creates an invitation for a customer to self-report certificates using the CertExpress website. This invitation is delivered by your choice of method, or you can present a hyperlink to the user directly in your connector. Your customer will be redirected to https://app.certexpress.com/ where they can follow a step-by-step guide to enter information about their exemption certificates. The certificates entered will be recorded and automatically linked to their customer record. The [CertExpress website](https://app.certexpress.com/home) is available for customers to use at any time. Using CertExpress with this API will ensure that your certificates are automatically linked correctly into your company so that they can be used for tax exemptions. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that will record certificates
        customerCode - The number of the customer where the request is sent to
        model - the requests to send out to customers
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createCertExpressInvitationAsync

        public java.util.concurrent.Future<java.util.ArrayList<CertExpressInvitationStatusModel>> createCertExpressInvitationAsync​(java.lang.Integer companyId,
                                                                                                                                   java.lang.String customerCode,
                                                                                                                                   java.util.ArrayList<CreateCertExpressInvitationModel> model)
        Create a CertExpress invitation Creates an invitation for a customer to self-report certificates using the CertExpress website. This invitation is delivered by your choice of method, or you can present a hyperlink to the user directly in your connector. Your customer will be redirected to https://app.certexpress.com/ where they can follow a step-by-step guide to enter information about their exemption certificates. The certificates entered will be recorded and automatically linked to their customer record. The [CertExpress website](https://app.certexpress.com/home) is available for customers to use at any time. Using CertExpress with this API will ensure that your certificates are automatically linked correctly into your company so that they can be used for tax exemptions. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that will record certificates
        customerCode - The number of the customer where the request is sent to
        model - the requests to send out to customers
        Returns:
        ArrayList
      • getCertExpressInvitation

        public CertExpressInvitationModel getCertExpressInvitation​(java.lang.Integer companyId,
                                                                   java.lang.String customerCode,
                                                                   java.lang.Integer id,
                                                                   java.lang.String include)
                                                            throws java.lang.Exception
        Retrieve a single CertExpress invitation Retrieve an existing CertExpress invitation sent to a customer. A CertExpression invitation allows a customer to follow a helpful step-by-step guide to provide information about their certificates. This step by step guide allows the customer to complete and upload the full certificate in a convenient, friendly web browser experience. When the customer completes their certificates, they will automatically be recorded to your company and linked to the customer record. The [CertExpress website](https://app.certexpress.com/home) is available for customers to use at any time. Using CertExpress with this API will ensure that your certificates are automatically linked correctly into your company so that they can be used for tax exemptions. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that issued this invitation
        customerCode - The number of the customer where the request is sent to
        id - The unique ID number of this CertExpress invitation
        include - OPTIONAL: A comma separated list of special fetch options. No options are defined at this time.
        Returns:
        CertExpressInvitationModel
        Throws:
        java.lang.Exception
      • getCertExpressInvitationAsync

        public java.util.concurrent.Future<CertExpressInvitationModel> getCertExpressInvitationAsync​(java.lang.Integer companyId,
                                                                                                     java.lang.String customerCode,
                                                                                                     java.lang.Integer id,
                                                                                                     java.lang.String include)
        Retrieve a single CertExpress invitation Retrieve an existing CertExpress invitation sent to a customer. A CertExpression invitation allows a customer to follow a helpful step-by-step guide to provide information about their certificates. This step by step guide allows the customer to complete and upload the full certificate in a convenient, friendly web browser experience. When the customer completes their certificates, they will automatically be recorded to your company and linked to the customer record. The [CertExpress website](https://app.certexpress.com/home) is available for customers to use at any time. Using CertExpress with this API will ensure that your certificates are automatically linked correctly into your company so that they can be used for tax exemptions. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that issued this invitation
        customerCode - The number of the customer where the request is sent to
        id - The unique ID number of this CertExpress invitation
        include - OPTIONAL: A comma separated list of special fetch options. No options are defined at this time.
        Returns:
        CertExpressInvitationModel
      • listCertExpressInvitations

        public FetchResult<CertExpressInvitationModel> listCertExpressInvitations​(java.lang.Integer companyId,
                                                                                  java.lang.String include,
                                                                                  java.lang.String filter,
                                                                                  java.lang.Integer top,
                                                                                  java.lang.Integer skip,
                                                                                  java.lang.String orderBy)
                                                                           throws java.lang.Exception
        List CertExpress invitations Retrieve CertExpress invitations sent by this company. A CertExpression invitation allows a customer to follow a helpful step-by-step guide to provide information about their certificates. This step by step guide allows the customer to complete and upload the full certificate in a convenient, friendly web browser experience. When the customer completes their certificates, they will automatically be recorded to your company and linked to the customer record. The [CertExpress website](https://app.certexpress.com/home) is available for customers to use at any time. Using CertExpress with this API will ensure that your certificates are automatically linked correctly into your company so that they can be used for tax exemptions. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that issued this invitation
        include - OPTIONAL: A comma separated list of special fetch options. No options are defined at this time.
        filter - 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/).
        *Not filterable:* companyId, customer, coverLetter, exposureZones, exemptReasons, requestLink
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listCertExpressInvitationsAsync

        public java.util.concurrent.Future<FetchResult<CertExpressInvitationModel>> listCertExpressInvitationsAsync​(java.lang.Integer companyId,
                                                                                                                    java.lang.String include,
                                                                                                                    java.lang.String filter,
                                                                                                                    java.lang.Integer top,
                                                                                                                    java.lang.Integer skip,
                                                                                                                    java.lang.String orderBy)
        List CertExpress invitations Retrieve CertExpress invitations sent by this company. A CertExpression invitation allows a customer to follow a helpful step-by-step guide to provide information about their certificates. This step by step guide allows the customer to complete and upload the full certificate in a convenient, friendly web browser experience. When the customer completes their certificates, they will automatically be recorded to your company and linked to the customer record. The [CertExpress website](https://app.certexpress.com/home) is available for customers to use at any time. Using CertExpress with this API will ensure that your certificates are automatically linked correctly into your company so that they can be used for tax exemptions. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that issued this invitation
        include - OPTIONAL: A comma separated list of special fetch options. No options are defined at this time.
        filter - 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/).
        *Not filterable:* companyId, customer, coverLetter, exposureZones, exemptReasons, requestLink
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • createCertificates

        public java.util.ArrayList<CertificateModel> createCertificates​(java.lang.Integer companyId,
                                                                        java.lang.Boolean preValidatedExemptionReason,
                                                                        java.util.ArrayList<CertificateModel> model)
                                                                 throws java.lang.Exception
        Create certificates for this company Record one or more certificates document for this company. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. When you create a certificate, it will be processed by Avalara and will become available for use in calculating tax exemptions when processing is complete. For a certificate to be used in calculating exemptions, it must have the following: * An exposure zone indicating where the certificate is valid * A link to the customer that is allowed to use this certificate * Your tax transaction must contain the correct customer code Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. If the users specified in the certificates do not exist, the API will create the user and link them to the certificate ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The ID number of the company recording this certificate
        preValidatedExemptionReason - If set to true, the certificate will bypass the human verification process.
        model - Certificates to be created
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createCertificatesAsync

        public java.util.concurrent.Future<java.util.ArrayList<CertificateModel>> createCertificatesAsync​(java.lang.Integer companyId,
                                                                                                          java.lang.Boolean preValidatedExemptionReason,
                                                                                                          java.util.ArrayList<CertificateModel> model)
        Create certificates for this company Record one or more certificates document for this company. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. When you create a certificate, it will be processed by Avalara and will become available for use in calculating tax exemptions when processing is complete. For a certificate to be used in calculating exemptions, it must have the following: * An exposure zone indicating where the certificate is valid * A link to the customer that is allowed to use this certificate * Your tax transaction must contain the correct customer code Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. If the users specified in the certificates do not exist, the API will create the user and link them to the certificate ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The ID number of the company recording this certificate
        preValidatedExemptionReason - If set to true, the certificate will bypass the human verification process.
        model - Certificates to be created
        Returns:
        ArrayList
      • deleteCertificate

        public java.util.ArrayList<ErrorDetail> deleteCertificate​(java.lang.Integer companyId,
                                                                  java.lang.Integer id)
                                                           throws java.lang.Exception
        Revoke and delete a certificate Revoke the certificate identified by this URL, then delete it. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. Revoked certificates can no longer be used. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this certificate
        id - The unique ID number of this certificate
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteCertificateAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteCertificateAsync​(java.lang.Integer companyId,
                                                                                                    java.lang.Integer id)
        Revoke and delete a certificate Revoke the certificate identified by this URL, then delete it. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. Revoked certificates can no longer be used. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this certificate
        id - The unique ID number of this certificate
        Returns:
        ArrayList
      • downloadCertificateImage

        public java.lang.String downloadCertificateImage​(java.lang.Integer companyId,
                                                         java.lang.Integer id,
                                                         java.lang.Integer page,
                                                         CertificatePreviewType type)
                                                  throws java.lang.Exception
        Download an image for this certificate Download an image or PDF file for this certificate. This API can be used to download either a single-page preview of the certificate or a full PDF document. To retrieve a preview image, set the `$type` parameter to `Jpeg` and the `$page` parameter to `1`. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this certificate
        id - The unique ID number of this certificate
        page - If you choose `$type`=`Jpeg`, you must specify which page number to retrieve.
        type - The data format in which to retrieve the certificate image (See CertificatePreviewType::* for a list of allowable values)
        Returns:
        String
        Throws:
        java.lang.Exception
      • downloadCertificateImageAsync

        public java.util.concurrent.Future<java.lang.String> downloadCertificateImageAsync​(java.lang.Integer companyId,
                                                                                           java.lang.Integer id,
                                                                                           java.lang.Integer page,
                                                                                           CertificatePreviewType type)
        Download an image for this certificate Download an image or PDF file for this certificate. This API can be used to download either a single-page preview of the certificate or a full PDF document. To retrieve a preview image, set the `$type` parameter to `Jpeg` and the `$page` parameter to `1`. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this certificate
        id - The unique ID number of this certificate
        page - If you choose `$type`=`Jpeg`, you must specify which page number to retrieve.
        type - The data format in which to retrieve the certificate image (See CertificatePreviewType::* for a list of allowable values)
        Returns:
        String
      • getCertificate

        public CertificateModel getCertificate​(java.lang.Integer companyId,
                                               java.lang.Integer id,
                                               java.lang.String include)
                                        throws java.lang.Exception
        Retrieve a single certificate Get the current certificate identified by this URL. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. You can use the `$include` parameter to fetch the following additional objects for expansion: * 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. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The ID number of the company that recorded this certificate
        id - The unique ID number of this certificate
        include - 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.
        Returns:
        CertificateModel
        Throws:
        java.lang.Exception
      • getCertificateAsync

        public java.util.concurrent.Future<CertificateModel> getCertificateAsync​(java.lang.Integer companyId,
                                                                                 java.lang.Integer id,
                                                                                 java.lang.String include)
        Retrieve a single certificate Get the current certificate identified by this URL. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. You can use the `$include` parameter to fetch the following additional objects for expansion: * 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. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The ID number of the company that recorded this certificate
        id - The unique ID number of this certificate
        include - 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.
        Returns:
        CertificateModel
      • getCertificateSetup

        public ProvisionStatusModel getCertificateSetup​(java.lang.Integer companyId)
                                                 throws java.lang.Exception
        Check a company's exemption certificate status. Checks whether this company is configured to use exemption certificates in AvaTax. Exemption certificates are tracked through a different auditable data store than the one that holds AvaTax transactions. To use the AvaTax exemption certificate document store, please call `GetCertificateSetup` to see if your company is configured to use the exemption certificate document store. To request setup, please call `RequestCertificateSetup` and your company will be configured with data storage in the auditable certificate system. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The company ID to check
        Returns:
        ProvisionStatusModel
        Throws:
        java.lang.Exception
      • getCertificateSetupAsync

        public java.util.concurrent.Future<ProvisionStatusModel> getCertificateSetupAsync​(java.lang.Integer companyId)
        Check a company's exemption certificate status. Checks whether this company is configured to use exemption certificates in AvaTax. Exemption certificates are tracked through a different auditable data store than the one that holds AvaTax transactions. To use the AvaTax exemption certificate document store, please call `GetCertificateSetup` to see if your company is configured to use the exemption certificate document store. To request setup, please call `RequestCertificateSetup` and your company will be configured with data storage in the auditable certificate system. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The company ID to check
        Returns:
        ProvisionStatusModel
      • linkAttributesToCertificate

        public FetchResult<CertificateAttributeModel> linkAttributesToCertificate​(java.lang.Integer companyId,
                                                                                  java.lang.Integer id,
                                                                                  java.util.ArrayList<CertificateAttributeModel> model)
                                                                           throws java.lang.Exception
        Link attributes to a certificate Link one or many attributes to a certificate. A certificate may have multiple attributes that control its behavior. You may link or unlink attributes to a certificate at any time. The full list of defined attributes may be found using `ListCertificateAttributes`. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this certificate
        id - The unique ID number of this certificate
        model - The list of attributes to link to this certificate.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • linkAttributesToCertificateAsync

        public java.util.concurrent.Future<FetchResult<CertificateAttributeModel>> linkAttributesToCertificateAsync​(java.lang.Integer companyId,
                                                                                                                    java.lang.Integer id,
                                                                                                                    java.util.ArrayList<CertificateAttributeModel> model)
        Link attributes to a certificate Link one or many attributes to a certificate. A certificate may have multiple attributes that control its behavior. You may link or unlink attributes to a certificate at any time. The full list of defined attributes may be found using `ListCertificateAttributes`. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this certificate
        id - The unique ID number of this certificate
        model - The list of attributes to link to this certificate.
        Returns:
        FetchResult
      • linkCustomersToCertificate

        public FetchResult<CustomerModel> linkCustomersToCertificate​(java.lang.Integer companyId,
                                                                     java.lang.Integer id,
                                                                     LinkCustomersModel model)
                                                              throws java.lang.Exception
        Link customers to a certificate Link one or more customers to an existing certificate. Customers and certificates must be linked before a customer can make use of a certificate to obtain a tax exemption in AvaTax. Since some certificates may cover more than one business entity, a certificate can be connected to multiple customer records using the `LinkCustomersToCertificate` API. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this certificate
        id - The unique ID number of this certificate
        model - The list of customers needed be added to the Certificate for exemption
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • linkCustomersToCertificateAsync

        public java.util.concurrent.Future<FetchResult<CustomerModel>> linkCustomersToCertificateAsync​(java.lang.Integer companyId,
                                                                                                       java.lang.Integer id,
                                                                                                       LinkCustomersModel model)
        Link customers to a certificate Link one or more customers to an existing certificate. Customers and certificates must be linked before a customer can make use of a certificate to obtain a tax exemption in AvaTax. Since some certificates may cover more than one business entity, a certificate can be connected to multiple customer records using the `LinkCustomersToCertificate` API. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this certificate
        id - The unique ID number of this certificate
        model - The list of customers needed be added to the Certificate for exemption
        Returns:
        FetchResult
      • listAttributesForCertificate

        public FetchResult<CertificateAttributeModel> listAttributesForCertificate​(java.lang.Integer companyId,
                                                                                   java.lang.Integer id)
                                                                            throws java.lang.Exception
        List all attributes applied to this certificate Retrieve the list of attributes that are linked to this certificate. A certificate may have multiple attributes that control its behavior. You may link or unlink attributes to a certificate at any time. The full list of defined attributes may be found using [ListCertificateAttributes](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Definitions/ListCertificateAttributes/) API. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this certificate
        id - The unique ID number of this certificate
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listAttributesForCertificateAsync

        public java.util.concurrent.Future<FetchResult<CertificateAttributeModel>> listAttributesForCertificateAsync​(java.lang.Integer companyId,
                                                                                                                     java.lang.Integer id)
        List all attributes applied to this certificate Retrieve the list of attributes that are linked to this certificate. A certificate may have multiple attributes that control its behavior. You may link or unlink attributes to a certificate at any time. The full list of defined attributes may be found using [ListCertificateAttributes](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Definitions/ListCertificateAttributes/) API. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this certificate
        id - The unique ID number of this certificate
        Returns:
        FetchResult
      • listCustomersForCertificate

        public FetchResult<CustomerModel> listCustomersForCertificate​(java.lang.Integer companyId,
                                                                      java.lang.Integer id,
                                                                      java.lang.String include)
                                                               throws java.lang.Exception
        List customers linked to this certificate List all customers linked to this certificate. Customers must be linked to a certificate in order to make use of its tax exemption features. You can link or unlink customers to a certificate at any time. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this certificate
        id - The unique ID number of this certificate
        include - OPTIONAL: A comma separated list of special fetch options. No options are currently available when fetching customers.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listCustomersForCertificateAsync

        public java.util.concurrent.Future<FetchResult<CustomerModel>> listCustomersForCertificateAsync​(java.lang.Integer companyId,
                                                                                                        java.lang.Integer id,
                                                                                                        java.lang.String include)
        List customers linked to this certificate List all customers linked to this certificate. Customers must be linked to a certificate in order to make use of its tax exemption features. You can link or unlink customers to a certificate at any time. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this certificate
        id - The unique ID number of this certificate
        include - OPTIONAL: A comma separated list of special fetch options. No options are currently available when fetching customers.
        Returns:
        FetchResult
      • queryCertificates

        public FetchResult<CertificateModel> queryCertificates​(java.lang.Integer companyId,
                                                               java.lang.String include,
                                                               java.lang.String filter,
                                                               java.lang.Integer top,
                                                               java.lang.Integer skip,
                                                               java.lang.String orderBy)
                                                        throws java.lang.Exception
        List all certificates for a company List all certificates recorded by a company A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. You can use the `$include` parameter to fetch the following additional objects for expansion: * 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. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The ID number of the company to search
        include - 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.
        filter - 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/).
        *Not filterable:* exemptionNumber, status, ecmsId, ecmsStatus, pdf, pages
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • queryCertificatesAsync

        public java.util.concurrent.Future<FetchResult<CertificateModel>> queryCertificatesAsync​(java.lang.Integer companyId,
                                                                                                 java.lang.String include,
                                                                                                 java.lang.String filter,
                                                                                                 java.lang.Integer top,
                                                                                                 java.lang.Integer skip,
                                                                                                 java.lang.String orderBy)
        List all certificates for a company List all certificates recorded by a company A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. You can use the `$include` parameter to fetch the following additional objects for expansion: * 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. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The ID number of the company to search
        include - 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.
        filter - 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/).
        *Not filterable:* exemptionNumber, status, ecmsId, ecmsStatus, pdf, pages
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • requestCertificateSetup

        public ProvisionStatusModel requestCertificateSetup​(java.lang.Integer companyId)
                                                     throws java.lang.Exception
        Request setup of exemption certificates for this company. Requests the setup of exemption certificates for this company. Exemption certificates are tracked through a different auditable data store than the one that holds AvaTax transactions. To use the AvaTax exemption certificate document store, please call `GetCertificateSetup` to see if your company is configured to use the exemption certificate document store. To request setup, please call `RequestCertificateSetup` and your company will be configured with data storage in the auditable certificate system. This API will return the current status of exemption certificate setup for this company. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId -
        Returns:
        ProvisionStatusModel
        Throws:
        java.lang.Exception
      • requestCertificateSetupAsync

        public java.util.concurrent.Future<ProvisionStatusModel> requestCertificateSetupAsync​(java.lang.Integer companyId)
        Request setup of exemption certificates for this company. Requests the setup of exemption certificates for this company. Exemption certificates are tracked through a different auditable data store than the one that holds AvaTax transactions. To use the AvaTax exemption certificate document store, please call `GetCertificateSetup` to see if your company is configured to use the exemption certificate document store. To request setup, please call `RequestCertificateSetup` and your company will be configured with data storage in the auditable certificate system. This API will return the current status of exemption certificate setup for this company. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId -
        Returns:
        ProvisionStatusModel
      • unlinkAttributesFromCertificate

        public FetchResult<CertificateAttributeModel> unlinkAttributesFromCertificate​(java.lang.Integer companyId,
                                                                                      java.lang.Integer id,
                                                                                      java.util.ArrayList<CertificateAttributeModel> model)
                                                                               throws java.lang.Exception
        Unlink attributes from a certificate Unlink one or many attributes from a certificate. A certificate may have multiple attributes that control its behavior. You may link or unlink attributes to a certificate at any time. The full list of defined attributes may be found using `ListCertificateAttributes`. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this certificate
        id - The unique ID number of this certificate
        model - The list of attributes to unlink from this certificate.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • unlinkAttributesFromCertificateAsync

        public java.util.concurrent.Future<FetchResult<CertificateAttributeModel>> unlinkAttributesFromCertificateAsync​(java.lang.Integer companyId,
                                                                                                                        java.lang.Integer id,
                                                                                                                        java.util.ArrayList<CertificateAttributeModel> model)
        Unlink attributes from a certificate Unlink one or many attributes from a certificate. A certificate may have multiple attributes that control its behavior. You may link or unlink attributes to a certificate at any time. The full list of defined attributes may be found using `ListCertificateAttributes`. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this certificate
        id - The unique ID number of this certificate
        model - The list of attributes to unlink from this certificate.
        Returns:
        FetchResult
      • unlinkCustomersFromCertificate

        public FetchResult<CustomerModel> unlinkCustomersFromCertificate​(java.lang.Integer companyId,
                                                                         java.lang.Integer id,
                                                                         LinkCustomersModel model)
                                                                  throws java.lang.Exception
        Unlink customers from a certificate Unlinks one or more customers from a certificate. Unlinking a certificate from a customer will prevent the certificate from being used to generate tax exemptions for the customer in the future. If any previous transactions for this customer had used this linked certificate, those transactions will be unchanged and will still have a link to the exemption certificate in question. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this certificate
        id - The unique ID number of this certificate
        model - The list of customers to unlink from this certificate
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • unlinkCustomersFromCertificateAsync

        public java.util.concurrent.Future<FetchResult<CustomerModel>> unlinkCustomersFromCertificateAsync​(java.lang.Integer companyId,
                                                                                                           java.lang.Integer id,
                                                                                                           LinkCustomersModel model)
        Unlink customers from a certificate Unlinks one or more customers from a certificate. Unlinking a certificate from a customer will prevent the certificate from being used to generate tax exemptions for the customer in the future. If any previous transactions for this customer had used this linked certificate, those transactions will be unchanged and will still have a link to the exemption certificate in question. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this certificate
        id - The unique ID number of this certificate
        model - The list of customers to unlink from this certificate
        Returns:
        FetchResult
      • updateCertificate

        public CertificateModel updateCertificate​(java.lang.Integer companyId,
                                                  java.lang.Integer id,
                                                  CertificateModel model)
                                           throws java.lang.Exception
        Update a single certificate Replace the certificate identified by this URL with a new one. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The ID number of the company that recorded this certificate
        id - The unique ID number of this certificate
        model - The new certificate object that will replace the existing one
        Returns:
        CertificateModel
        Throws:
        java.lang.Exception
      • updateCertificateAsync

        public java.util.concurrent.Future<CertificateModel> updateCertificateAsync​(java.lang.Integer companyId,
                                                                                    java.lang.Integer id,
                                                                                    CertificateModel model)
        Update a single certificate Replace the certificate identified by this URL with a new one. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The ID number of the company that recorded this certificate
        id - The unique ID number of this certificate
        model - The new certificate object that will replace the existing one
        Returns:
        CertificateModel
      • uploadCertificateImage

        public java.lang.String uploadCertificateImage​(java.lang.Integer companyId,
                                                       java.lang.Integer id,
                                                       java.lang.String file)
                                                throws java.lang.Exception
        Upload an image or PDF attachment for this certificate Upload an image or PDF attachment for this certificate. Image attachments can be of the format `PDF`, `JPEG`, `TIFF`, or `PNG`. To upload a multi-page image, please use the `PDF` data type. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this certificate
        id - The unique ID number of this certificate
        file - The exemption certificate file you wanted to upload. Accepted formats are: PDF, JPEG, TIFF, PNG.
        Returns:
        String
        Throws:
        java.lang.Exception
      • uploadCertificateImageAsync

        public java.util.concurrent.Future<java.lang.String> uploadCertificateImageAsync​(java.lang.Integer companyId,
                                                                                         java.lang.Integer id,
                                                                                         java.lang.String file)
        Upload an image or PDF attachment for this certificate Upload an image or PDF attachment for this certificate. Image attachments can be of the format `PDF`, `JPEG`, `TIFF`, or `PNG`. To upload a multi-page image, please use the `PDF` data type. A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document can contain information about a customer's eligibility for exemption from sales or use taxes based on criteria you specify when you store the certificate. To view or manage your certificates directly, please log onto the administrative website for the product you purchased. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this certificate
        id - The unique ID number of this certificate
        file - The exemption certificate file you wanted to upload. Accepted formats are: PDF, JPEG, TIFF, PNG.
        Returns:
        String
      • certifyIntegration

        public java.lang.String certifyIntegration​(java.lang.Integer id)
                                            throws java.lang.Exception
        Checks whether the integration being used to set up this company and run transactions onto this company is compliant to all requirements. Examines the most recent 100 transactions or data from the last month when verifying transaction-related integrations. For partners who write integrations against AvaTax for many clients, this API is a way to do a quick self testing to verify whether the written integrations for a company are sufficient enough to be delivered to the respective customers to start using it. This API provides messages specific enough (through predefined checks) to guide the partner on what integrations are still missing from the company to get fully certified. The API makes the following checks to conclude if the company is NOT fully certified: 1. Any past month items contains generic tax code of P0000000. 2. All the companies on the requesting account are test companies. 3. No Voided/Cancelled documents in the past 30 days. 4. There are less than 2 committed documents. 5. Any documentCode is a generic GUID string. 6. Any customerCode on document is a generic GUID string. 7. No document has more than 1 documentLine. 8. All of the documents have missing exemptionNo, customerUsageType, taxDateOverride or negative amount. 9. Any document quantity is a negative number. 10. Any document have repeated lines. 11. No document has shipping charge. 12. All documents have same ItemCodes, descriptions and taxCodes. 13. Less than 2 addresses used across all documents. 14. Whether locationCode was used in documents. 15. Account with AvaGlobal subscription and no documents have VATBuyerId. 16. Any document has currencyCode not being USD for accounts with AvaGlobal subscription. 17. All documents have countryCode used for accounts with AvaGlobal subscription. ### Security Policies * 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.
        Parameters:
        id - The ID of the company to check if its integration is certified.
        Returns:
        String
        Throws:
        java.lang.Exception
      • certifyIntegrationAsync

        public java.util.concurrent.Future<java.lang.String> certifyIntegrationAsync​(java.lang.Integer id)
        Checks whether the integration being used to set up this company and run transactions onto this company is compliant to all requirements. Examines the most recent 100 transactions or data from the last month when verifying transaction-related integrations. For partners who write integrations against AvaTax for many clients, this API is a way to do a quick self testing to verify whether the written integrations for a company are sufficient enough to be delivered to the respective customers to start using it. This API provides messages specific enough (through predefined checks) to guide the partner on what integrations are still missing from the company to get fully certified. The API makes the following checks to conclude if the company is NOT fully certified: 1. Any past month items contains generic tax code of P0000000. 2. All the companies on the requesting account are test companies. 3. No Voided/Cancelled documents in the past 30 days. 4. There are less than 2 committed documents. 5. Any documentCode is a generic GUID string. 6. Any customerCode on document is a generic GUID string. 7. No document has more than 1 documentLine. 8. All of the documents have missing exemptionNo, customerUsageType, taxDateOverride or negative amount. 9. Any document quantity is a negative number. 10. Any document have repeated lines. 11. No document has shipping charge. 12. All documents have same ItemCodes, descriptions and taxCodes. 13. Less than 2 addresses used across all documents. 14. Whether locationCode was used in documents. 15. Account with AvaGlobal subscription and no documents have VATBuyerId. 16. Any document has currencyCode not being USD for accounts with AvaGlobal subscription. 17. All documents have countryCode used for accounts with AvaGlobal subscription. ### Security Policies * 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.
        Parameters:
        id - The ID of the company to check if its integration is certified.
        Returns:
        String
      • changeFilingStatus

        public java.lang.String changeFilingStatus​(java.lang.Integer id,
                                                   FilingStatusChangeModel model)
                                            throws java.lang.Exception
        Change the filing status of this company Changes the current filing status of this company. For customers using Avalara's Managed Returns Service, each company within their account can request for Avalara to file tax returns on their behalf. Avalara compliance team members will review all requested filing calendars prior to beginning filing tax returns on behalf of this company. The following changes may be requested through this API: * If a company is in `NotYetFiling` status, the customer may request this be changed to `FilingRequested`. * Avalara compliance team members may change a company from `FilingRequested` to `FirstFiling`. * Avalara compliance team members may change a company from `FirstFiling` to `Active`. All other status changes must be requested through the Avalara customer support team. ### Security Policies * 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.
        Parameters:
        id -
        model -
        Returns:
        String
        Throws:
        java.lang.Exception
      • changeFilingStatusAsync

        public java.util.concurrent.Future<java.lang.String> changeFilingStatusAsync​(java.lang.Integer id,
                                                                                     FilingStatusChangeModel model)
        Change the filing status of this company Changes the current filing status of this company. For customers using Avalara's Managed Returns Service, each company within their account can request for Avalara to file tax returns on their behalf. Avalara compliance team members will review all requested filing calendars prior to beginning filing tax returns on behalf of this company. The following changes may be requested through this API: * If a company is in `NotYetFiling` status, the customer may request this be changed to `FilingRequested`. * Avalara compliance team members may change a company from `FilingRequested` to `FirstFiling`. * Avalara compliance team members may change a company from `FirstFiling` to `Active`. All other status changes must be requested through the Avalara customer support team. ### Security Policies * 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.
        Parameters:
        id -
        model -
        Returns:
        String
      • companyInitialize

        public CompanyModel companyInitialize​(CompanyInitializationModel model)
                                       throws java.lang.Exception
        Quick setup for a company with a single physical address Shortcut to quickly setup a single-physical-location company with critical information and activate it. This API provides quick and simple company setup functionality and does the following things: * Create a company object with its own tax profile * Add a key contact person for the company * Set up one physical location for the main office * Declare nexus in all taxing jurisdictions for that main office address * Activate the company This API only provides a limited subset of functionality compared to the 'Create Company' API call. If you need additional features or options not present in this 'Quick Setup' API call, please use the full 'Create Company' call instead. Please allow 1 minute before making transactions using the company. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        model - Information about the company you wish to create.
        Returns:
        CompanyModel
        Throws:
        java.lang.Exception
      • companyInitializeAsync

        public java.util.concurrent.Future<CompanyModel> companyInitializeAsync​(CompanyInitializationModel model)
        Quick setup for a company with a single physical address Shortcut to quickly setup a single-physical-location company with critical information and activate it. This API provides quick and simple company setup functionality and does the following things: * Create a company object with its own tax profile * Add a key contact person for the company * Set up one physical location for the main office * Declare nexus in all taxing jurisdictions for that main office address * Activate the company This API only provides a limited subset of functionality compared to the 'Create Company' API call. If you need additional features or options not present in this 'Quick Setup' API call, please use the full 'Create Company' call instead. Please allow 1 minute before making transactions using the company. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        model - Information about the company you wish to create.
        Returns:
        CompanyModel
      • createCompanies

        public java.util.ArrayList<CompanyModel> createCompanies​(java.util.ArrayList<CompanyModel> model)
                                                          throws java.lang.Exception
        Create new companies Create one or more new company objects. A 'company' represents a single corporation or individual that is registered to handle transactional taxes. You may attach nested data objects such as contacts, locations, and nexus with this CREATE call, and those objects will be created with the company. NOTE: Please do not use these blacklisted characters in company name and code: ';', '\', '|'. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        model - Either a single company object or an array of companies to create
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createCompaniesAsync

        public java.util.concurrent.Future<java.util.ArrayList<CompanyModel>> createCompaniesAsync​(java.util.ArrayList<CompanyModel> model)
        Create new companies Create one or more new company objects. A 'company' represents a single corporation or individual that is registered to handle transactional taxes. You may attach nested data objects such as contacts, locations, and nexus with this CREATE call, and those objects will be created with the company. NOTE: Please do not use these blacklisted characters in company name and code: ';', '\', '|'. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        model - Either a single company object or an array of companies to create
        Returns:
        ArrayList
      • createCompanyParameters

        public java.util.ArrayList<CompanyParameterDetailModel> createCompanyParameters​(java.lang.Integer companyId,
                                                                                        java.util.ArrayList<CompanyParameterDetailModel> model)
                                                                                 throws java.lang.Exception
        Add parameters to a company. Add parameters to a company. Some companies can be taxed and reported differently depending on the properties of the company, such as IsPrimaryAddress. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to a company will be used by default in tax calculation but will not show on the transaction line referencing the company. A company location parameter specified on a transaction line will override a company parameter if they share the same parameter name. To see available parameters for this company, call `/api/v2/definitions/parameters?$filter=attributeType eq Company` Some parameters are only available for use if you have subscribed to specific AvaTax services. To see which parameters you are able to use, add the query parameter "$showSubscribed=true" to the parameter definition call above. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this company parameter.
        model - The company parameters you wish to create.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createCompanyParametersAsync

        public java.util.concurrent.Future<java.util.ArrayList<CompanyParameterDetailModel>> createCompanyParametersAsync​(java.lang.Integer companyId,
                                                                                                                          java.util.ArrayList<CompanyParameterDetailModel> model)
        Add parameters to a company. Add parameters to a company. Some companies can be taxed and reported differently depending on the properties of the company, such as IsPrimaryAddress. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to a company will be used by default in tax calculation but will not show on the transaction line referencing the company. A company location parameter specified on a transaction line will override a company parameter if they share the same parameter name. To see available parameters for this company, call `/api/v2/definitions/parameters?$filter=attributeType eq Company` Some parameters are only available for use if you have subscribed to specific AvaTax services. To see which parameters you are able to use, add the query parameter "$showSubscribed=true" to the parameter definition call above. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this company parameter.
        model - The company parameters you wish to create.
        Returns:
        ArrayList
      • createFundingRequest

        public FundingStatusModel createFundingRequest​(java.lang.Integer id,
                                                       FundingInitiateModel model)
                                                throws java.lang.Exception
        Request managed returns funding setup for a company This API is available by invitation only. Companies that use the Avalara Managed Returns or the SST Certified Service Provider services are required to setup their funding configuration before Avalara can begin filing tax returns on their behalf. Funding configuration for each company is set up by submitting a funding setup request, which can be sent either via email or via an embedded HTML widget. When the funding configuration is submitted to Avalara, it will be reviewed by treasury team members before approval. This API records that an ambedded HTML funding setup widget was activated. This API requires a subscription to Avalara Managed Returns or SST Certified Service Provider. ### Security Policies * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp. * 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.
        Parameters:
        id - The unique identifier of the company
        model - The funding initialization request
        Returns:
        FundingStatusModel
        Throws:
        java.lang.Exception
      • createFundingRequestAsync

        public java.util.concurrent.Future<FundingStatusModel> createFundingRequestAsync​(java.lang.Integer id,
                                                                                         FundingInitiateModel model)
        Request managed returns funding setup for a company This API is available by invitation only. Companies that use the Avalara Managed Returns or the SST Certified Service Provider services are required to setup their funding configuration before Avalara can begin filing tax returns on their behalf. Funding configuration for each company is set up by submitting a funding setup request, which can be sent either via email or via an embedded HTML widget. When the funding configuration is submitted to Avalara, it will be reviewed by treasury team members before approval. This API records that an ambedded HTML funding setup widget was activated. This API requires a subscription to Avalara Managed Returns or SST Certified Service Provider. ### Security Policies * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp. * 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.
        Parameters:
        id - The unique identifier of the company
        model - The funding initialization request
        Returns:
        FundingStatusModel
      • deleteCompany

        public java.util.ArrayList<ErrorDetail> deleteCompany​(java.lang.Integer id)
                                                       throws java.lang.Exception
        Delete a single company Deleting a company will delete all child companies, and all users attached to this company. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        id - The ID of the company you wish to delete.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteCompanyAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteCompanyAsync​(java.lang.Integer id)
        Delete a single company Deleting a company will delete all child companies, and all users attached to this company. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        id - The ID of the company you wish to delete.
        Returns:
        ArrayList
      • deleteCompanyParameter

        public java.util.ArrayList<ErrorDetail> deleteCompanyParameter​(java.lang.Integer companyId,
                                                                       java.lang.Long id)
                                                                throws java.lang.Exception
        Delete a single company parameter Delete a parameter of a company. Some companies can be taxed and reported differently depending on the properties of the company, such as IsPrimaryAddress. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to a company will be used by default in tax calculation but will not show on the transaction line referencing the company. A company location parameter specified on a transaction line will override a company parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The company id
        id - The parameter id
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteCompanyParameterAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteCompanyParameterAsync​(java.lang.Integer companyId,
                                                                                                         java.lang.Long id)
        Delete a single company parameter Delete a parameter of a company. Some companies can be taxed and reported differently depending on the properties of the company, such as IsPrimaryAddress. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to a company will be used by default in tax calculation but will not show on the transaction line referencing the company. A company location parameter specified on a transaction line will override a company parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The company id
        id - The parameter id
        Returns:
        ArrayList
      • fundingConfigurationByCompany

        public FundingConfigurationModel fundingConfigurationByCompany​(java.lang.Integer companyId)
                                                                throws java.lang.Exception
        Check the funding configuration of a company This API is available by invitation only. Requires a subscription to Avalara Managed Returns or SST Certified Service Provider. Returns the funding configuration of the requested company. . ### Security Policies * 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. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        companyId - The unique identifier of the company
        Returns:
        FundingConfigurationModel
        Throws:
        java.lang.Exception
      • fundingConfigurationByCompanyAsync

        public java.util.concurrent.Future<FundingConfigurationModel> fundingConfigurationByCompanyAsync​(java.lang.Integer companyId)
        Check the funding configuration of a company This API is available by invitation only. Requires a subscription to Avalara Managed Returns or SST Certified Service Provider. Returns the funding configuration of the requested company. . ### Security Policies * 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. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        companyId - The unique identifier of the company
        Returns:
        FundingConfigurationModel
      • fundingConfigurationsByCompanyAndCurrency

        public java.util.ArrayList<FundingConfigurationModel> fundingConfigurationsByCompanyAndCurrency​(java.lang.Integer companyId,
                                                                                                        java.lang.String currency)
                                                                                                 throws java.lang.Exception
        Check the funding configuration of a company This API is available by invitation only. Requires a subscription to Avalara Managed Returns or SST Certified Service Provider. Returns the funding configuration of the requested company. . ### Security Policies * 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. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        companyId - The unique identifier of the company
        currency - The currency of the funding. USD and CAD are the only valid currencies
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • fundingConfigurationsByCompanyAndCurrencyAsync

        public java.util.concurrent.Future<java.util.ArrayList<FundingConfigurationModel>> fundingConfigurationsByCompanyAndCurrencyAsync​(java.lang.Integer companyId,
                                                                                                                                          java.lang.String currency)
        Check the funding configuration of a company This API is available by invitation only. Requires a subscription to Avalara Managed Returns or SST Certified Service Provider. Returns the funding configuration of the requested company. . ### Security Policies * 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. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        companyId - The unique identifier of the company
        currency - The currency of the funding. USD and CAD are the only valid currencies
        Returns:
        ArrayList
      • getCompany

        public CompanyModel getCompany​(java.lang.Integer id,
                                       java.lang.String include)
                                throws java.lang.Exception
        Retrieve a single company Get the company object identified by this URL. A 'company' represents a single corporation or individual that is registered to handle transactional taxes. 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: * Contacts * Items * Locations * Nexus * Settings * TaxCodes * TaxRules * UPC * Parameters ### Security Policies * 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.
        Parameters:
        id - The ID of the company to retrieve.
        include - OPTIONAL: A comma separated list of special fetch options. * Child objects - Specify one or more of the following to retrieve objects related to each company: "Contacts", "FilingCalendars", "Items", "Locations", "Nexus", "TaxCodes", "NonReportingChildren" or "TaxRules". * Deleted objects - Specify "FetchDeleted" to retrieve information about previously deleted objects.
        Returns:
        CompanyModel
        Throws:
        java.lang.Exception
      • getCompanyAsync

        public java.util.concurrent.Future<CompanyModel> getCompanyAsync​(java.lang.Integer id,
                                                                         java.lang.String include)
        Retrieve a single company Get the company object identified by this URL. A 'company' represents a single corporation or individual that is registered to handle transactional taxes. 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: * Contacts * Items * Locations * Nexus * Settings * TaxCodes * TaxRules * UPC * Parameters ### Security Policies * 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.
        Parameters:
        id - The ID of the company to retrieve.
        include - OPTIONAL: A comma separated list of special fetch options. * Child objects - Specify one or more of the following to retrieve objects related to each company: "Contacts", "FilingCalendars", "Items", "Locations", "Nexus", "TaxCodes", "NonReportingChildren" or "TaxRules". * Deleted objects - Specify "FetchDeleted" to retrieve information about previously deleted objects.
        Returns:
        CompanyModel
      • getCompanyConfiguration

        public java.util.ArrayList<CompanyConfigurationModel> getCompanyConfiguration​(java.lang.Integer id)
                                                                               throws java.lang.Exception
        Get configuration settings for this company Retrieve a list of all configuration settings tied to this company. Configuration settings provide you with the ability to control features of your account and of your tax software. The category name `AvaCertServiceConfig` is reserved for Avalara internal software configuration values; to store your own company-level settings, please create a new category name that begins with `X-`, for example, `X-MyCustomCategory`. Company settings are permanent settings that cannot be deleted. You can set the value of a company setting to null if desired and if the particular setting supports it. Avalara-based company settings for `AvaCertServiceConfig` affect your company's exemption certificate processing, and should be changed with care. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        id -
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • getCompanyConfigurationAsync

        public java.util.concurrent.Future<java.util.ArrayList<CompanyConfigurationModel>> getCompanyConfigurationAsync​(java.lang.Integer id)
        Get configuration settings for this company Retrieve a list of all configuration settings tied to this company. Configuration settings provide you with the ability to control features of your account and of your tax software. The category name `AvaCertServiceConfig` is reserved for Avalara internal software configuration values; to store your own company-level settings, please create a new category name that begins with `X-`, for example, `X-MyCustomCategory`. Company settings are permanent settings that cannot be deleted. You can set the value of a company setting to null if desired and if the particular setting supports it. Avalara-based company settings for `AvaCertServiceConfig` affect your company's exemption certificate processing, and should be changed with care. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        id -
        Returns:
        ArrayList
      • getCompanyParameterDetail

        public CompanyParameterDetailModel getCompanyParameterDetail​(java.lang.Integer companyId,
                                                                     java.lang.Integer id)
                                                              throws java.lang.Exception
        Retrieve a single company parameter Retrieves a single parameter of a company. Some companies can be taxed and reported differently depending on the properties of the company, such as IsPrimaryAddress. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to a company will be used by default in tax calculation but will not show on the transaction line referencing the company. A company location parameter specified on a transaction line will override a company parameter if they share the same parameter name. ### Security Policies * 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.
        Parameters:
        companyId -
        id -
        Returns:
        CompanyParameterDetailModel
        Throws:
        java.lang.Exception
      • getCompanyParameterDetailAsync

        public java.util.concurrent.Future<CompanyParameterDetailModel> getCompanyParameterDetailAsync​(java.lang.Integer companyId,
                                                                                                       java.lang.Integer id)
        Retrieve a single company parameter Retrieves a single parameter of a company. Some companies can be taxed and reported differently depending on the properties of the company, such as IsPrimaryAddress. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to a company will be used by default in tax calculation but will not show on the transaction line referencing the company. A company location parameter specified on a transaction line will override a company parameter if they share the same parameter name. ### Security Policies * 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.
        Parameters:
        companyId -
        id -
        Returns:
        CompanyParameterDetailModel
      • getFilingStatus

        public java.lang.String getFilingStatus​(java.lang.Integer id)
                                         throws java.lang.Exception
        Get this company's filing status Retrieve the current filing status of this company. For customers using Avalara's Managed Returns Service, each company within their account can request for Avalara to file tax returns on their behalf. Avalara compliance team members will review all requested filing calendars prior to beginning filing tax returns on behalf of this company. A company's filing status can be one of the following values: * `NoReporting` - This company is not configured to report tax returns; instead, it reports through a parent company. * `NotYetFiling` - This company has not yet begun filing tax returns through Avalara's Managed Returns Service. * `FilingRequested` - The company has requested to begin filing tax returns, but Avalara's compliance team has not yet begun filing. * `FirstFiling` - The company has recently filing tax returns and is in a new status. * `Active` - The company is currently active and is filing tax returns via Avalara Managed Returns. ### Security Policies * 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.
        Parameters:
        id -
        Returns:
        String
        Throws:
        java.lang.Exception
      • getFilingStatusAsync

        public java.util.concurrent.Future<java.lang.String> getFilingStatusAsync​(java.lang.Integer id)
        Get this company's filing status Retrieve the current filing status of this company. For customers using Avalara's Managed Returns Service, each company within their account can request for Avalara to file tax returns on their behalf. Avalara compliance team members will review all requested filing calendars prior to beginning filing tax returns on behalf of this company. A company's filing status can be one of the following values: * `NoReporting` - This company is not configured to report tax returns; instead, it reports through a parent company. * `NotYetFiling` - This company has not yet begun filing tax returns through Avalara's Managed Returns Service. * `FilingRequested` - The company has requested to begin filing tax returns, but Avalara's compliance team has not yet begun filing. * `FirstFiling` - The company has recently filing tax returns and is in a new status. * `Active` - The company is currently active and is filing tax returns via Avalara Managed Returns. ### Security Policies * 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.
        Parameters:
        id -
        Returns:
        String
      • listCompanyParameterDetails

        public FetchResult<CompanyParameterDetailModel> listCompanyParameterDetails​(java.lang.Integer companyId,
                                                                                    java.lang.String filter,
                                                                                    java.lang.Integer top,
                                                                                    java.lang.Integer skip,
                                                                                    java.lang.String orderBy)
                                                                             throws java.lang.Exception
        Retrieve parameters for a company Retrieve all parameters of a company. Some companies can be taxed and reported differently depending on the properties of the company, such as IsPrimaryAddress. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to a company will be used by default in tax calculation but will not show on the transaction line referencing the company. A company location parameter specified on a transaction line will override a company parameter if they share the same parameter name. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * 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.
        Parameters:
        companyId - The company id
        filter - 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/).
        *Not filterable:* name, unit
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listCompanyParameterDetailsAsync

        public java.util.concurrent.Future<FetchResult<CompanyParameterDetailModel>> listCompanyParameterDetailsAsync​(java.lang.Integer companyId,
                                                                                                                      java.lang.String filter,
                                                                                                                      java.lang.Integer top,
                                                                                                                      java.lang.Integer skip,
                                                                                                                      java.lang.String orderBy)
        Retrieve parameters for a company Retrieve all parameters of a company. Some companies can be taxed and reported differently depending on the properties of the company, such as IsPrimaryAddress. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to a company will be used by default in tax calculation but will not show on the transaction line referencing the company. A company location parameter specified on a transaction line will override a company parameter if they share the same parameter name. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * 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.
        Parameters:
        companyId - The company id
        filter - 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/).
        *Not filterable:* name, unit
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listFundingRequestsByCompany

        public java.util.ArrayList<FundingStatusModel> listFundingRequestsByCompany​(java.lang.Integer id)
                                                                             throws java.lang.Exception
        Check managed returns funding status for a company This API is available by invitation only. Requires a subscription to Avalara Managed Returns or SST Certified Service Provider. Returns a list of funding setup requests and their current status. Each object in the result is a request that was made to setup or adjust funding status for this company. ### Security Policies * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp. * 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.
        Parameters:
        id - The unique identifier of the company
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • listFundingRequestsByCompanyAsync

        public java.util.concurrent.Future<java.util.ArrayList<FundingStatusModel>> listFundingRequestsByCompanyAsync​(java.lang.Integer id)
        Check managed returns funding status for a company This API is available by invitation only. Requires a subscription to Avalara Managed Returns or SST Certified Service Provider. Returns a list of funding setup requests and their current status. Each object in the result is a request that was made to setup or adjust funding status for this company. ### Security Policies * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp. * 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.
        Parameters:
        id - The unique identifier of the company
        Returns:
        ArrayList
      • listMrsCompanies

        public FetchResult<MrsCompanyModel> listMrsCompanies()
                                                      throws java.lang.Exception
        Retrieve a list of MRS Companies with account This API is available by invitation only. Get a list of companies with an active MRS service. ### Security Policies * 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.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listMrsCompaniesAsync

        public java.util.concurrent.Future<FetchResult<MrsCompanyModel>> listMrsCompaniesAsync()
        Retrieve a list of MRS Companies with account This API is available by invitation only. Get a list of companies with an active MRS service. ### Security Policies * 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.
        Returns:
        FetchResult
      • queryCompanies

        public FetchResult<CompanyModel> queryCompanies​(java.lang.String include,
                                                        java.lang.String filter,
                                                        java.lang.Integer top,
                                                        java.lang.Integer skip,
                                                        java.lang.String orderBy)
                                                 throws java.lang.Exception
        Retrieve all companies Get multiple company objects. A `company` represents a single corporation or individual that is registered to handle transactional taxes. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. 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: * Contacts * Items * Locations * Nexus * Settings * TaxCodes * TaxRules * UPC * Parameters ### Security Policies * 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.
        Parameters:
        include - A comma separated list of objects to fetch underneath this company. Any object with a URL path underneath this company can be fetched by specifying its name.
        filter - 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/).
        *Not filterable:* IsFein, contacts, items, locations, nexus, settings, taxCodes, taxRules, upcs, nonReportingChildCompanies, exemptCerts, parameters, supplierandcustomers
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • queryCompaniesAsync

        public java.util.concurrent.Future<FetchResult<CompanyModel>> queryCompaniesAsync​(java.lang.String include,
                                                                                          java.lang.String filter,
                                                                                          java.lang.Integer top,
                                                                                          java.lang.Integer skip,
                                                                                          java.lang.String orderBy)
        Retrieve all companies Get multiple company objects. A `company` represents a single corporation or individual that is registered to handle transactional taxes. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. 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: * Contacts * Items * Locations * Nexus * Settings * TaxCodes * TaxRules * UPC * Parameters ### Security Policies * 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.
        Parameters:
        include - A comma separated list of objects to fetch underneath this company. Any object with a URL path underneath this company can be fetched by specifying its name.
        filter - 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/).
        *Not filterable:* IsFein, contacts, items, locations, nexus, settings, taxCodes, taxRules, upcs, nonReportingChildCompanies, exemptCerts, parameters, supplierandcustomers
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • setCompanyConfiguration

        public java.util.ArrayList<CompanyConfigurationModel> setCompanyConfiguration​(java.lang.Integer id,
                                                                                      java.util.ArrayList<CompanyConfigurationModel> model)
                                                                               throws java.lang.Exception
        Change configuration settings for this company Update configuration settings tied to this company. Configuration settings provide you with the ability to control features of your account and of your tax software. The category names `AvaCertServiceConfig` is reserved for Avalara internal software configuration values; to store your own company-level settings, please create a new category name that begins with `X-`, for example, `X-MyCustomCategory`. Company settings are permanent settings that cannot be deleted. You can set the value of a company setting to null if desired and if the particular setting supports it. Avalara-based company settings for `AvaCertServiceConfig` affect your company's exemption certificate processing, and should be changed with care. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        id -
        model -
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • setCompanyConfigurationAsync

        public java.util.concurrent.Future<java.util.ArrayList<CompanyConfigurationModel>> setCompanyConfigurationAsync​(java.lang.Integer id,
                                                                                                                        java.util.ArrayList<CompanyConfigurationModel> model)
        Change configuration settings for this company Update configuration settings tied to this company. Configuration settings provide you with the ability to control features of your account and of your tax software. The category names `AvaCertServiceConfig` is reserved for Avalara internal software configuration values; to store your own company-level settings, please create a new category name that begins with `X-`, for example, `X-MyCustomCategory`. Company settings are permanent settings that cannot be deleted. You can set the value of a company setting to null if desired and if the particular setting supports it. Avalara-based company settings for `AvaCertServiceConfig` affect your company's exemption certificate processing, and should be changed with care. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        id -
        model -
        Returns:
        ArrayList
      • updateCompany

        public CompanyModel updateCompany​(java.lang.Integer id,
                                          CompanyModel model)
                                   throws java.lang.Exception
        Update a single company Replace the existing company object at this URL with an updated object. A `CompanyModel` represents a single corporation or individual that is registered to handle transactional taxes. All data from the existing object will be replaced with data in the object you PUT. When calling `UpdateCompany`, you are permitted to update the company itself. Updates to the nested objects such as contacts, locations, or settings are not permitted. To update the nested objects To set a field's value to `null`, you may either set its value to `null` or omit that field from the object you PUT. NOTE: Please do not use these blacklisted characters in company name and code: ';', '\', '|'. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        id - The ID of the company you wish to update.
        model - The company object you wish to update.
        Returns:
        CompanyModel
        Throws:
        java.lang.Exception
      • updateCompanyAsync

        public java.util.concurrent.Future<CompanyModel> updateCompanyAsync​(java.lang.Integer id,
                                                                            CompanyModel model)
        Update a single company Replace the existing company object at this URL with an updated object. A `CompanyModel` represents a single corporation or individual that is registered to handle transactional taxes. All data from the existing object will be replaced with data in the object you PUT. When calling `UpdateCompany`, you are permitted to update the company itself. Updates to the nested objects such as contacts, locations, or settings are not permitted. To update the nested objects To set a field's value to `null`, you may either set its value to `null` or omit that field from the object you PUT. NOTE: Please do not use these blacklisted characters in company name and code: ';', '\', '|'. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        id - The ID of the company you wish to update.
        model - The company object you wish to update.
        Returns:
        CompanyModel
      • updateCompanyParameterDetail

        public CompanyParameterDetailModel updateCompanyParameterDetail​(java.lang.Integer companyId,
                                                                        java.lang.Long id,
                                                                        CompanyParameterDetailModel model)
                                                                 throws java.lang.Exception
        Update a company parameter Update a parameter of a company. Some companies can be taxed and reported differently depending on the properties of the company, such as IsPrimaryAddress. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to a company will be used by default in tax calculation but will not show on the transaction line referencing the company. A company location parameter specified on a transaction line will override a company parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The company id.
        id - The company parameter id
        model - The company parameter object you wish to update.
        Returns:
        CompanyParameterDetailModel
        Throws:
        java.lang.Exception
      • updateCompanyParameterDetailAsync

        public java.util.concurrent.Future<CompanyParameterDetailModel> updateCompanyParameterDetailAsync​(java.lang.Integer companyId,
                                                                                                          java.lang.Long id,
                                                                                                          CompanyParameterDetailModel model)
        Update a company parameter Update a parameter of a company. Some companies can be taxed and reported differently depending on the properties of the company, such as IsPrimaryAddress. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to a company will be used by default in tax calculation but will not show on the transaction line referencing the company. A company location parameter specified on a transaction line will override a company parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The company id.
        id - The company parameter id
        model - The company parameter object you wish to update.
        Returns:
        CompanyParameterDetailModel
      • tagTransaction

        public FetchResult<TransactionModel> tagTransaction​(java.lang.Integer companyId,
                                                            java.util.ArrayList<TransactionReferenceFieldModel> model)
                                                     throws java.lang.Exception
        API to modify the reference fields at the document and the line level.
        Parameters:
        companyId -
        model -
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • tagTransactionAsync

        public java.util.concurrent.Future<FetchResult<TransactionModel>> tagTransactionAsync​(java.lang.Integer companyId,
                                                                                              java.util.ArrayList<TransactionReferenceFieldModel> model)
        API to modify the reference fields at the document and the line level.
        Parameters:
        companyId -
        model -
        Returns:
        FetchResult
      • createContacts

        public java.util.ArrayList<ContactModel> createContacts​(java.lang.Integer companyId,
                                                                java.util.ArrayList<ContactModel> model)
                                                         throws java.lang.Exception
        Create a new contact Create one or more new contact objects. A 'contact' is a person associated with a company who is designated to handle certain responsibilities of a tax collecting and filing entity. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this contact.
        model - The contacts you wish to create.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createContactsAsync

        public java.util.concurrent.Future<java.util.ArrayList<ContactModel>> createContactsAsync​(java.lang.Integer companyId,
                                                                                                  java.util.ArrayList<ContactModel> model)
        Create a new contact Create one or more new contact objects. A 'contact' is a person associated with a company who is designated to handle certain responsibilities of a tax collecting and filing entity. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this contact.
        model - The contacts you wish to create.
        Returns:
        ArrayList
      • deleteContact

        public java.util.ArrayList<ErrorDetail> deleteContact​(java.lang.Integer companyId,
                                                              java.lang.Integer id)
                                                       throws java.lang.Exception
        Delete a single contact Mark the existing contact object at this URL as deleted. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this contact.
        id - The ID of the contact you wish to delete.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteContactAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteContactAsync​(java.lang.Integer companyId,
                                                                                                java.lang.Integer id)
        Delete a single contact Mark the existing contact object at this URL as deleted. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this contact.
        id - The ID of the contact you wish to delete.
        Returns:
        ArrayList
      • getContact

        public ContactModel getContact​(java.lang.Integer companyId,
                                       java.lang.Integer id)
                                throws java.lang.Exception
        Retrieve a single contact Get the contact object identified by this URL. A 'contact' is a person associated with a company who is designated to handle certain responsibilities of a tax collecting and filing entity. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, FirmAdmin, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        companyId - The ID of the company for this contact
        id - The primary key of this contact
        Returns:
        ContactModel
        Throws:
        java.lang.Exception
      • getContactAsync

        public java.util.concurrent.Future<ContactModel> getContactAsync​(java.lang.Integer companyId,
                                                                         java.lang.Integer id)
        Retrieve a single contact Get the contact object identified by this URL. A 'contact' is a person associated with a company who is designated to handle certain responsibilities of a tax collecting and filing entity. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, FirmAdmin, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        companyId - The ID of the company for this contact
        id - The primary key of this contact
        Returns:
        ContactModel
      • listContactsByCompany

        public FetchResult<ContactModel> listContactsByCompany​(java.lang.Integer companyId,
                                                               java.lang.String filter,
                                                               java.lang.Integer top,
                                                               java.lang.Integer skip,
                                                               java.lang.String orderBy)
                                                        throws java.lang.Exception
        Retrieve contacts for this company List all contact objects assigned to this company. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, FirmAdmin, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        companyId - The ID of the company that owns these contacts
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listContactsByCompanyAsync

        public java.util.concurrent.Future<FetchResult<ContactModel>> listContactsByCompanyAsync​(java.lang.Integer companyId,
                                                                                                 java.lang.String filter,
                                                                                                 java.lang.Integer top,
                                                                                                 java.lang.Integer skip,
                                                                                                 java.lang.String orderBy)
        Retrieve contacts for this company List all contact objects assigned to this company. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, FirmAdmin, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        companyId - The ID of the company that owns these contacts
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • queryContacts

        public FetchResult<ContactModel> queryContacts​(java.lang.String filter,
                                                       java.lang.Integer top,
                                                       java.lang.Integer skip,
                                                       java.lang.String orderBy)
                                                throws java.lang.Exception
        Retrieve all contacts Get multiple contact objects across all companies. A 'contact' is a person associated with a company who is designated to handle certain responsibilities of a tax collecting and filing entity. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, FirmAdmin, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • queryContactsAsync

        public java.util.concurrent.Future<FetchResult<ContactModel>> queryContactsAsync​(java.lang.String filter,
                                                                                         java.lang.Integer top,
                                                                                         java.lang.Integer skip,
                                                                                         java.lang.String orderBy)
        Retrieve all contacts Get multiple contact objects across all companies. A 'contact' is a person associated with a company who is designated to handle certain responsibilities of a tax collecting and filing entity. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, FirmAdmin, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • updateContact

        public ContactModel updateContact​(java.lang.Integer companyId,
                                          java.lang.Integer id,
                                          ContactModel model)
                                   throws java.lang.Exception
        Update a single contact Replace the existing contact object at this URL with an updated object. A 'contact' is a person associated with a company who is designated to handle certain responsibilities of a tax collecting and filing entity. All data from the existing object will be replaced with data in the object you PUT. 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. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that this contact belongs to.
        id - The ID of the contact you wish to update
        model - The contact you wish to update.
        Returns:
        ContactModel
        Throws:
        java.lang.Exception
      • updateContactAsync

        public java.util.concurrent.Future<ContactModel> updateContactAsync​(java.lang.Integer companyId,
                                                                            java.lang.Integer id,
                                                                            ContactModel model)
        Update a single contact Replace the existing contact object at this URL with an updated object. A 'contact' is a person associated with a company who is designated to handle certain responsibilities of a tax collecting and filing entity. All data from the existing object will be replaced with data in the object you PUT. 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. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that this contact belongs to.
        id - The ID of the contact you wish to update
        model - The contact you wish to update.
        Returns:
        ContactModel
      • createCustomers

        public java.util.ArrayList<CustomerModel> createCustomers​(java.lang.Integer companyId,
                                                                  java.util.ArrayList<CustomerModel> model)
                                                           throws java.lang.Exception
        Create customers for this company Create one or more customers for this company. A customer object defines information about a person or business that purchases products from your company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and identify any certificates linked to this `customer` object. If any certificate applies to the transaction, AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`. A nested object such as CustomFields could be specified and created along with the customer object. To fetch the nested object, please call 'GetCustomer' API with appropriate $include parameters. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this customer
        model - The list of customer objects to be created
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createCustomersAsync

        public java.util.concurrent.Future<java.util.ArrayList<CustomerModel>> createCustomersAsync​(java.lang.Integer companyId,
                                                                                                    java.util.ArrayList<CustomerModel> model)
        Create customers for this company Create one or more customers for this company. A customer object defines information about a person or business that purchases products from your company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and identify any certificates linked to this `customer` object. If any certificate applies to the transaction, AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`. A nested object such as CustomFields could be specified and created along with the customer object. To fetch the nested object, please call 'GetCustomer' API with appropriate $include parameters. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this customer
        model - The list of customer objects to be created
        Returns:
        ArrayList
      • deleteCustomer

        public CustomerModel deleteCustomer​(java.lang.Integer companyId,
                                            java.lang.String customerCode)
                                     throws java.lang.Exception
        Delete a customer record Deletes the customer object referenced by this URL. A customer object defines information about a person or business that purchases products from your company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and identify any certificates linked to this `customer` object. If any certificate applies to the transaction, AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this customer
        customerCode - The unique code representing this customer
        Returns:
        CustomerModel
        Throws:
        java.lang.Exception
      • deleteCustomerAsync

        public java.util.concurrent.Future<CustomerModel> deleteCustomerAsync​(java.lang.Integer companyId,
                                                                              java.lang.String customerCode)
        Delete a customer record Deletes the customer object referenced by this URL. A customer object defines information about a person or business that purchases products from your company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and identify any certificates linked to this `customer` object. If any certificate applies to the transaction, AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this customer
        customerCode - The unique code representing this customer
        Returns:
        CustomerModel
      • getCustomer

        public CustomerModel getCustomer​(java.lang.Integer companyId,
                                         java.lang.String customerCode,
                                         java.lang.String include)
                                  throws java.lang.Exception
        Retrieve a single customer Retrieve the customer identified by this URL. A customer object defines information about a person or business that purchases products from your company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and identify any certificates linked to this customer object. If any certificate applies to the transaction, AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`. You can use the `$include` parameter to fetch the following additional objects for expansion: * Certificates - Fetch a list of certificates linked to this customer. * CustomFields - Fetch a list of custom fields associated to this customer. * attributes - Retrieves all attributes applied to the customer. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this customer
        customerCode - The unique code representing this customer
        include - Specify optional additional objects to include in this fetch request
        Returns:
        CustomerModel
        Throws:
        java.lang.Exception
      • getCustomerAsync

        public java.util.concurrent.Future<CustomerModel> getCustomerAsync​(java.lang.Integer companyId,
                                                                           java.lang.String customerCode,
                                                                           java.lang.String include)
        Retrieve a single customer Retrieve the customer identified by this URL. A customer object defines information about a person or business that purchases products from your company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and identify any certificates linked to this customer object. If any certificate applies to the transaction, AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`. You can use the `$include` parameter to fetch the following additional objects for expansion: * Certificates - Fetch a list of certificates linked to this customer. * CustomFields - Fetch a list of custom fields associated to this customer. * attributes - Retrieves all attributes applied to the customer. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this customer
        customerCode - The unique code representing this customer
        include - Specify optional additional objects to include in this fetch request
        Returns:
        CustomerModel
      • linkAttributesToCustomer

        public FetchResult<CustomerAttributeModel> linkAttributesToCustomer​(java.lang.Integer companyId,
                                                                            java.lang.String customerCode,
                                                                            java.util.ArrayList<CustomerAttributeModel> model)
                                                                     throws java.lang.Exception
        Link attributes to a customer Link one or many attributes to a customer. A customer may have multiple attributes that control its behavior. You may link or unlink attributes to a customer at any time. The full list of defined attributes may be found using `QueryCompanyCustomerAttributes` API. A customer object defines information about a person or business that purchases products from your company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and identify any certificates linked to this customer object. If any certificate applies to the transaction, AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded the provided customer
        customerCode - The unique code representing the current customer
        model - The list of attributes to link to the customer.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • linkAttributesToCustomerAsync

        public java.util.concurrent.Future<FetchResult<CustomerAttributeModel>> linkAttributesToCustomerAsync​(java.lang.Integer companyId,
                                                                                                              java.lang.String customerCode,
                                                                                                              java.util.ArrayList<CustomerAttributeModel> model)
        Link attributes to a customer Link one or many attributes to a customer. A customer may have multiple attributes that control its behavior. You may link or unlink attributes to a customer at any time. The full list of defined attributes may be found using `QueryCompanyCustomerAttributes` API. A customer object defines information about a person or business that purchases products from your company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and identify any certificates linked to this customer object. If any certificate applies to the transaction, AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded the provided customer
        customerCode - The unique code representing the current customer
        model - The list of attributes to link to the customer.
        Returns:
        FetchResult
      • linkCertificatesToCustomer

        public FetchResult<CertificateModel> linkCertificatesToCustomer​(java.lang.Integer companyId,
                                                                        java.lang.String customerCode,
                                                                        LinkCertificatesModel model)
                                                                 throws java.lang.Exception
        Link certificates to a customer Link one or more certificates to a customer. A customer object defines information about a person or business that purchases products from your company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and identify any certificates linked to this `customer` object. If any certificate applies to the transaction, AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this customer
        customerCode - The unique code representing this customer
        model - The list of certificates to link to this customer
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • linkCertificatesToCustomerAsync

        public java.util.concurrent.Future<FetchResult<CertificateModel>> linkCertificatesToCustomerAsync​(java.lang.Integer companyId,
                                                                                                          java.lang.String customerCode,
                                                                                                          LinkCertificatesModel model)
        Link certificates to a customer Link one or more certificates to a customer. A customer object defines information about a person or business that purchases products from your company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and identify any certificates linked to this `customer` object. If any certificate applies to the transaction, AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this customer
        customerCode - The unique code representing this customer
        model - The list of certificates to link to this customer
        Returns:
        FetchResult
      • linkShipToCustomersToBillCustomer

        public CustomerModel linkShipToCustomersToBillCustomer​(java.lang.Integer companyId,
                                                               java.lang.String code,
                                                               LinkCustomersModel model)
                                                        throws java.lang.Exception
        Link two customer records together Links a Ship-To customer record with a Bill-To customer record. Customer records represent businesses or individuals who can provide exemption certificates. Some customers may have certificates that are linked to their shipping address or their billing address. To group these customer records together, you may link multiple bill-to and ship-to addresses together to represent a single entity that has multiple different addresses of different kinds. In general, a customer will have only one primary billing address and multiple ship-to addresses, representing all of the different locations where they receive goods. To facilitate this type of customer, you can send in one bill-to customer code and multiple ship-to customer codes in a single API call. Note that you can only link a ship-to customer record to a bill-to customer record. You may not link two customers of the same kind together. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company defining customers.
        code - The code of the bill-to customer to link.
        model - A list of information about ship-to customers to link to this bill-to customer.
        Returns:
        CustomerModel
        Throws:
        java.lang.Exception
      • linkShipToCustomersToBillCustomerAsync

        public java.util.concurrent.Future<CustomerModel> linkShipToCustomersToBillCustomerAsync​(java.lang.Integer companyId,
                                                                                                 java.lang.String code,
                                                                                                 LinkCustomersModel model)
        Link two customer records together Links a Ship-To customer record with a Bill-To customer record. Customer records represent businesses or individuals who can provide exemption certificates. Some customers may have certificates that are linked to their shipping address or their billing address. To group these customer records together, you may link multiple bill-to and ship-to addresses together to represent a single entity that has multiple different addresses of different kinds. In general, a customer will have only one primary billing address and multiple ship-to addresses, representing all of the different locations where they receive goods. To facilitate this type of customer, you can send in one bill-to customer code and multiple ship-to customer codes in a single API call. Note that you can only link a ship-to customer record to a bill-to customer record. You may not link two customers of the same kind together. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company defining customers.
        code - The code of the bill-to customer to link.
        model - A list of information about ship-to customers to link to this bill-to customer.
        Returns:
        CustomerModel
      • listAttributesForCustomer

        public FetchResult<CustomerAttributeModel> listAttributesForCustomer​(java.lang.Integer companyId,
                                                                             java.lang.String customerCode)
                                                                      throws java.lang.Exception
        Retrieve a customer's attributes Retrieve the attributes linked to the customer identified by this URL. A customer may have multiple attributes that control its behavior. You may link or unlink attributes to a customer at any time. The full list of defined attributes may be found using `QueryCompanyCustomerAttributes` API. A customer object defines information about a person or business that purchases products from your company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and identify any certificates linked to this customer object. If any certificate applies to the transaction, AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded the provided customer
        customerCode - The unique code representing the current customer
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listAttributesForCustomerAsync

        public java.util.concurrent.Future<FetchResult<CustomerAttributeModel>> listAttributesForCustomerAsync​(java.lang.Integer companyId,
                                                                                                               java.lang.String customerCode)
        Retrieve a customer's attributes Retrieve the attributes linked to the customer identified by this URL. A customer may have multiple attributes that control its behavior. You may link or unlink attributes to a customer at any time. The full list of defined attributes may be found using `QueryCompanyCustomerAttributes` API. A customer object defines information about a person or business that purchases products from your company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and identify any certificates linked to this customer object. If any certificate applies to the transaction, AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded the provided customer
        customerCode - The unique code representing the current customer
        Returns:
        FetchResult
      • listCertificatesForCustomer

        public FetchResult<CertificateModel> listCertificatesForCustomer​(java.lang.Integer companyId,
                                                                         java.lang.String customerCode,
                                                                         java.lang.String include,
                                                                         java.lang.String filter,
                                                                         java.lang.Integer top,
                                                                         java.lang.Integer skip,
                                                                         java.lang.String orderBy)
                                                                  throws java.lang.Exception
        List certificates linked to a customer List all certificates linked to a customer. A customer object defines information about a person or business that purchases products from your company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and identify any certificates linked to this `customer` object. If any certificate applies to the transaction, AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this customer
        customerCode - The unique code representing this customer
        include - 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.
        filter - 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/).
        *Not filterable:* exemptionNumber, status, ecmsId, ecmsStatus, pdf, pages
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listCertificatesForCustomerAsync

        public java.util.concurrent.Future<FetchResult<CertificateModel>> listCertificatesForCustomerAsync​(java.lang.Integer companyId,
                                                                                                           java.lang.String customerCode,
                                                                                                           java.lang.String include,
                                                                                                           java.lang.String filter,
                                                                                                           java.lang.Integer top,
                                                                                                           java.lang.Integer skip,
                                                                                                           java.lang.String orderBy)
        List certificates linked to a customer List all certificates linked to a customer. A customer object defines information about a person or business that purchases products from your company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and identify any certificates linked to this `customer` object. If any certificate applies to the transaction, AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this customer
        customerCode - The unique code representing this customer
        include - 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.
        filter - 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/).
        *Not filterable:* exemptionNumber, status, ecmsId, ecmsStatus, pdf, pages
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listValidCertificatesForCustomer

        public ExemptionStatusModel listValidCertificatesForCustomer​(java.lang.Integer companyId,
                                                                     java.lang.String customerCode,
                                                                     java.lang.String country,
                                                                     java.lang.String region)
                                                              throws java.lang.Exception
        List valid certificates for a location List valid certificates linked to a customer in a particular country and region. This API is intended to help identify whether a customer has already provided a certificate that applies to a particular country and region. This API is intended to help you remind a customer when they have or have not provided copies of their exemption certificates to you during the sales order process. If a customer does not have a certificate on file and they wish to provide one, you should send the customer a CertExpress invitation link so that the customer can upload proof of their exemption certificate. Please see the `CreateCertExpressInvitation` API to create an invitation link for this customer. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this customer
        customerCode - The unique code representing this customer
        country - Search for certificates matching this country. Uses the ISO 3166 two character country code.
        region - Search for certificates matching this region. Uses the ISO 3166 two or three character state, region, or province code.
        Returns:
        ExemptionStatusModel
        Throws:
        java.lang.Exception
      • listValidCertificatesForCustomerAsync

        public java.util.concurrent.Future<ExemptionStatusModel> listValidCertificatesForCustomerAsync​(java.lang.Integer companyId,
                                                                                                       java.lang.String customerCode,
                                                                                                       java.lang.String country,
                                                                                                       java.lang.String region)
        List valid certificates for a location List valid certificates linked to a customer in a particular country and region. This API is intended to help identify whether a customer has already provided a certificate that applies to a particular country and region. This API is intended to help you remind a customer when they have or have not provided copies of their exemption certificates to you during the sales order process. If a customer does not have a certificate on file and they wish to provide one, you should send the customer a CertExpress invitation link so that the customer can upload proof of their exemption certificate. Please see the `CreateCertExpressInvitation` API to create an invitation link for this customer. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this customer
        customerCode - The unique code representing this customer
        country - Search for certificates matching this country. Uses the ISO 3166 two character country code.
        region - Search for certificates matching this region. Uses the ISO 3166 two or three character state, region, or province code.
        Returns:
        ExemptionStatusModel
      • queryCustomers

        public FetchResult<CustomerModel> queryCustomers​(java.lang.Integer companyId,
                                                         java.lang.String include,
                                                         java.lang.String filter,
                                                         java.lang.Integer top,
                                                         java.lang.Integer skip,
                                                         java.lang.String orderBy)
                                                  throws java.lang.Exception
        List all customers for this company List all customers recorded by this company matching the specified criteria. A customer object defines information about a person or business that purchases products from your company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and identify any certificates linked to this `customer` object. If any certificate applies to the transaction, AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`. You can use the `$include` parameter to fetch the following additional objects for expansion: * Certificates - Fetch a list of certificates linked to this customer. * attributes - Retrieves all attributes applied to the customer. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this customer
        include - OPTIONAL - You can specify the value `certificates` to fetch information about certificates linked to the customer.
        filter - 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/).
        *Not filterable:* shipTos
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • queryCustomersAsync

        public java.util.concurrent.Future<FetchResult<CustomerModel>> queryCustomersAsync​(java.lang.Integer companyId,
                                                                                           java.lang.String include,
                                                                                           java.lang.String filter,
                                                                                           java.lang.Integer top,
                                                                                           java.lang.Integer skip,
                                                                                           java.lang.String orderBy)
        List all customers for this company List all customers recorded by this company matching the specified criteria. A customer object defines information about a person or business that purchases products from your company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and identify any certificates linked to this `customer` object. If any certificate applies to the transaction, AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`. You can use the `$include` parameter to fetch the following additional objects for expansion: * Certificates - Fetch a list of certificates linked to this customer. * attributes - Retrieves all attributes applied to the customer. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this customer
        include - OPTIONAL - You can specify the value `certificates` to fetch information about certificates linked to the customer.
        filter - 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/).
        *Not filterable:* shipTos
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • unlinkAttributesFromCustomer

        public FetchResult<CustomerAttributeModel> unlinkAttributesFromCustomer​(java.lang.Integer companyId,
                                                                                java.lang.String customerCode,
                                                                                java.util.ArrayList<CustomerAttributeModel> model)
                                                                         throws java.lang.Exception
        Unlink attributes from a customer Unlink one or many attributes from a customer. A customer may have multiple attributes that control its behavior. You may link or unlink attributes to a customer at any time. The full list of defined attributes may be found using `QueryCompanyCustomerAttributes` API. A customer object defines information about a person or business that purchases products from your company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and identify any certificates linked to this customer object. If any certificate applies to the transaction, AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded the customer
        customerCode - The unique code representing the current customer
        model - The list of attributes to unlink from the customer.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • unlinkAttributesFromCustomerAsync

        public java.util.concurrent.Future<FetchResult<CustomerAttributeModel>> unlinkAttributesFromCustomerAsync​(java.lang.Integer companyId,
                                                                                                                  java.lang.String customerCode,
                                                                                                                  java.util.ArrayList<CustomerAttributeModel> model)
        Unlink attributes from a customer Unlink one or many attributes from a customer. A customer may have multiple attributes that control its behavior. You may link or unlink attributes to a customer at any time. The full list of defined attributes may be found using `QueryCompanyCustomerAttributes` API. A customer object defines information about a person or business that purchases products from your company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and identify any certificates linked to this customer object. If any certificate applies to the transaction, AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded the customer
        customerCode - The unique code representing the current customer
        model - The list of attributes to unlink from the customer.
        Returns:
        FetchResult
      • unlinkCertificatesFromCustomer

        public FetchResult<CertificateModel> unlinkCertificatesFromCustomer​(java.lang.Integer companyId,
                                                                            java.lang.String customerCode,
                                                                            LinkCertificatesModel model)
                                                                     throws java.lang.Exception
        Unlink certificates from a customer Remove one or more certificates to a customer. A customer object defines information about a person or business that purchases products from your company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and identify any certificates linked to this `customer` object. If any certificate applies to the transaction, AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this customer
        customerCode - The unique code representing this customer
        model - The list of certificates to link to this customer
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • unlinkCertificatesFromCustomerAsync

        public java.util.concurrent.Future<FetchResult<CertificateModel>> unlinkCertificatesFromCustomerAsync​(java.lang.Integer companyId,
                                                                                                              java.lang.String customerCode,
                                                                                                              LinkCertificatesModel model)
        Unlink certificates from a customer Remove one or more certificates to a customer. A customer object defines information about a person or business that purchases products from your company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and identify any certificates linked to this `customer` object. If any certificate applies to the transaction, AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this customer
        customerCode - The unique code representing this customer
        model - The list of certificates to link to this customer
        Returns:
        FetchResult
      • updateCustomer

        public CustomerModel updateCustomer​(java.lang.Integer companyId,
                                            java.lang.String customerCode,
                                            CustomerModel model)
                                     throws java.lang.Exception
        Update a single customer Replace the customer object at this URL with a new record. A customer object defines information about a person or business that purchases products from your company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and identify any certificates linked to this `customer` object. If any certificate applies to the transaction, AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this customer
        customerCode - The unique code representing this customer
        model - The new customer model that will replace the existing record at this URL
        Returns:
        CustomerModel
        Throws:
        java.lang.Exception
      • updateCustomerAsync

        public java.util.concurrent.Future<CustomerModel> updateCustomerAsync​(java.lang.Integer companyId,
                                                                              java.lang.String customerCode,
                                                                              CustomerModel model)
        Update a single customer Replace the customer object at this URL with a new record. A customer object defines information about a person or business that purchases products from your company. When you create a tax transaction in AvaTax, you can use the `customerCode` from this record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and identify any certificates linked to this `customer` object. If any certificate applies to the transaction, AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`. Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage. Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`. To request setup of exemption certificate storage for this company, call `RequestCertificateSetup`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The unique ID number of the company that recorded this customer
        customerCode - The unique code representing this customer
        model - The new customer model that will replace the existing record at this URL
        Returns:
        CustomerModel
      • createDataSources

        public java.util.ArrayList<DataSourceModel> createDataSources​(java.lang.Integer companyId,
                                                                      java.util.ArrayList<DataSourceModel> model)
                                                               throws java.lang.Exception
        Create and store new datasources for the respective companies. Create one or more datasource objects. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyId - The id of the company you which to create the datasources
        model -
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createDataSourcesAsync

        public java.util.concurrent.Future<java.util.ArrayList<DataSourceModel>> createDataSourcesAsync​(java.lang.Integer companyId,
                                                                                                        java.util.ArrayList<DataSourceModel> model)
        Create and store new datasources for the respective companies. Create one or more datasource objects. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyId - The id of the company you which to create the datasources
        model -
        Returns:
        ArrayList
      • deleteDataSource

        public java.util.ArrayList<ErrorDetail> deleteDataSource​(java.lang.Integer companyId,
                                                                 java.lang.Integer id)
                                                          throws java.lang.Exception
        Delete a datasource by datasource id for a company. Marks the existing datasource for a company as deleted. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyId - The id of the company the datasource belongs to.
        id - The id of the datasource you wish to delete.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteDataSourceAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteDataSourceAsync​(java.lang.Integer companyId,
                                                                                                   java.lang.Integer id)
        Delete a datasource by datasource id for a company. Marks the existing datasource for a company as deleted. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyId - The id of the company the datasource belongs to.
        id - The id of the datasource you wish to delete.
        Returns:
        ArrayList
      • getDataSourceById

        public DataSourceModel getDataSourceById​(java.lang.Integer companyId,
                                                 java.lang.Integer id)
                                          throws java.lang.Exception
        Get data source by data source id Retrieve the data source by its unique ID number. ### Security Policies * 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. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyId -
        id - data source id
        Returns:
        DataSourceModel
        Throws:
        java.lang.Exception
      • getDataSourceByIdAsync

        public java.util.concurrent.Future<DataSourceModel> getDataSourceByIdAsync​(java.lang.Integer companyId,
                                                                                   java.lang.Integer id)
        Get data source by data source id Retrieve the data source by its unique ID number. ### Security Policies * 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. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyId -
        id - data source id
        Returns:
        DataSourceModel
      • listDataSources

        public FetchResult<DataSourceModel> listDataSources​(java.lang.Integer companyId,
                                                            java.lang.String filter,
                                                            java.lang.Integer top,
                                                            java.lang.Integer skip,
                                                            java.lang.String orderBy)
                                                     throws java.lang.Exception
        Retrieve all datasources for this company Gets multiple datasource objects for a given company. ### Security Policies * 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. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyId - The id of the company you wish to retrieve the datasources.
        filter - 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/).
        *Not filterable:* isEnabled, isSynced, isAuthorized, name, externalState
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listDataSourcesAsync

        public java.util.concurrent.Future<FetchResult<DataSourceModel>> listDataSourcesAsync​(java.lang.Integer companyId,
                                                                                              java.lang.String filter,
                                                                                              java.lang.Integer top,
                                                                                              java.lang.Integer skip,
                                                                                              java.lang.String orderBy)
        Retrieve all datasources for this company Gets multiple datasource objects for a given company. ### Security Policies * 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. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyId - The id of the company you wish to retrieve the datasources.
        filter - 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/).
        *Not filterable:* isEnabled, isSynced, isAuthorized, name, externalState
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • queryDataSources

        public FetchResult<DataSourceModel> queryDataSources​(java.lang.String filter,
                                                             java.lang.Integer top,
                                                             java.lang.Integer skip,
                                                             java.lang.String orderBy)
                                                      throws java.lang.Exception
        Retrieve all datasources Get multiple datasource objects across all companies. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * 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. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        filter - 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/).
        *Not filterable:* isEnabled, isSynced, isAuthorized, name, externalState
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • queryDataSourcesAsync

        public java.util.concurrent.Future<FetchResult<DataSourceModel>> queryDataSourcesAsync​(java.lang.String filter,
                                                                                               java.lang.Integer top,
                                                                                               java.lang.Integer skip,
                                                                                               java.lang.String orderBy)
        Retrieve all datasources Get multiple datasource objects across all companies. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * 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. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        filter - 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/).
        *Not filterable:* isEnabled, isSynced, isAuthorized, name, externalState
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • updateDataSource

        public DataSourceModel updateDataSource​(java.lang.Integer companyId,
                                                java.lang.Integer id,
                                                DataSourceModel model)
                                         throws java.lang.Exception
        Update a datasource identified by id for a company Updates a datasource for a company. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyId - The id of the company the datasource belongs to.
        id - The id of the datasource you wish to delete.
        model -
        Returns:
        DataSourceModel
        Throws:
        java.lang.Exception
      • updateDataSourceAsync

        public java.util.concurrent.Future<DataSourceModel> updateDataSourceAsync​(java.lang.Integer companyId,
                                                                                  java.lang.Integer id,
                                                                                  DataSourceModel model)
        Update a datasource identified by id for a company Updates a datasource for a company. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyId - The id of the company the datasource belongs to.
        id - The id of the datasource you wish to delete.
        model -
        Returns:
        DataSourceModel
      • getCrossBorderCode

        public FetchResult<HsCodeModel> getCrossBorderCode​(java.lang.String country,
                                                           java.lang.String hsCode)
                                                    throws java.lang.Exception
        Lists all parents of an HS Code. Retrieves the specified HS code and all of its parents, reflecting all sections, chapters, headings, and subheadings a list of HS Codes that are the parents and information branches of the HS Code for the given destination country, if lower detail is available. This API will include information branches if applicable. These do not have HS Codes and cannot be referenced, but can contain information relevant to deciding the correct HS Code. This API is intended to be useful to review the descriptive hierarchy of an HS Code, which can be particularly helpful when HS Codes can have multiple levels of generic descriptions. ### Security Policies * This API depends on the following active services:*Required* (all): AvaTaxGlobal.
        Parameters:
        country - The name or code of the destination country.
        hsCode - The partial or full HS Code for which you would like to view all of the parents.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • getCrossBorderCodeAsync

        public java.util.concurrent.Future<FetchResult<HsCodeModel>> getCrossBorderCodeAsync​(java.lang.String country,
                                                                                             java.lang.String hsCode)
        Lists all parents of an HS Code. Retrieves the specified HS code and all of its parents, reflecting all sections, chapters, headings, and subheadings a list of HS Codes that are the parents and information branches of the HS Code for the given destination country, if lower detail is available. This API will include information branches if applicable. These do not have HS Codes and cannot be referenced, but can contain information relevant to deciding the correct HS Code. This API is intended to be useful to review the descriptive hierarchy of an HS Code, which can be particularly helpful when HS Codes can have multiple levels of generic descriptions. ### Security Policies * This API depends on the following active services:*Required* (all): AvaTaxGlobal.
        Parameters:
        country - The name or code of the destination country.
        hsCode - The partial or full HS Code for which you would like to view all of the parents.
        Returns:
        FetchResult
      • getLoginVerifierByForm

        public FetchResult<SkyscraperStatusModel> getLoginVerifierByForm​(java.lang.String form,
                                                                         java.lang.String filter,
                                                                         java.lang.Integer top,
                                                                         java.lang.Integer skip,
                                                                         java.lang.String orderBy)
                                                                  throws java.lang.Exception
        Test whether a form supports online login verification This API is intended to be useful to identify whether the user should be allowed
        Parameters:
        form - The name of the form you would like to verify. This is the tax form code
        filter - 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/).
        *Not filterable:* taxFormCodes, scraperType, expectedResponseTime, requiredFilingCalendarDataFields
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • getLoginVerifierByFormAsync

        public java.util.concurrent.Future<FetchResult<SkyscraperStatusModel>> getLoginVerifierByFormAsync​(java.lang.String form,
                                                                                                           java.lang.String filter,
                                                                                                           java.lang.Integer top,
                                                                                                           java.lang.Integer skip,
                                                                                                           java.lang.String orderBy)
        Test whether a form supports online login verification This API is intended to be useful to identify whether the user should be allowed
        Parameters:
        form - The name of the form you would like to verify. This is the tax form code
        filter - 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/).
        *Not filterable:* taxFormCodes, scraperType, expectedResponseTime, requiredFilingCalendarDataFields
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listAvaFileForms

        public FetchResult<AvaFileFormModel> listAvaFileForms​(java.lang.String filter,
                                                              java.lang.Integer top,
                                                              java.lang.Integer skip,
                                                              java.lang.String orderBy)
                                                       throws java.lang.Exception
        Retrieve the full list of the AvaFile Forms available This API is deprecated. Please use the ListTaxForms API. Returns the full list of Avalara-supported AvaFile Forms
        Parameters:
        filter - 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/).
        *Not filterable:* outletTypeId
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listAvaFileFormsAsync

        public java.util.concurrent.Future<FetchResult<AvaFileFormModel>> listAvaFileFormsAsync​(java.lang.String filter,
                                                                                                java.lang.Integer top,
                                                                                                java.lang.Integer skip,
                                                                                                java.lang.String orderBy)
        Retrieve the full list of the AvaFile Forms available This API is deprecated. Please use the ListTaxForms API. Returns the full list of Avalara-supported AvaFile Forms
        Parameters:
        filter - 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/).
        *Not filterable:* outletTypeId
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listCertificateAttributes

        public FetchResult<CertificateAttributeModel> listCertificateAttributes​(java.lang.Integer companyid,
                                                                                java.lang.String filter,
                                                                                java.lang.Integer top,
                                                                                java.lang.Integer skip,
                                                                                java.lang.String orderBy)
                                                                         throws java.lang.Exception
        List certificate attributes used by a company List the certificate attributes defined by a company either specified by the user or the user's default company. A certificate may have multiple attributes that control its behavior. You may apply or remove attributes to a certificate at any time. If you see the 'CertCaptureNotConfiguredError', please use CheckProvision and RequestProvision endpoints to
        Parameters:
        companyid - Id of the company the user wish to fetch the certificates' attributes from. If not specified the API will use user's default company.
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listCertificateAttributesAsync

        public java.util.concurrent.Future<FetchResult<CertificateAttributeModel>> listCertificateAttributesAsync​(java.lang.Integer companyid,
                                                                                                                  java.lang.String filter,
                                                                                                                  java.lang.Integer top,
                                                                                                                  java.lang.Integer skip,
                                                                                                                  java.lang.String orderBy)
        List certificate attributes used by a company List the certificate attributes defined by a company either specified by the user or the user's default company. A certificate may have multiple attributes that control its behavior. You may apply or remove attributes to a certificate at any time. If you see the 'CertCaptureNotConfiguredError', please use CheckProvision and RequestProvision endpoints to
        Parameters:
        companyid - Id of the company the user wish to fetch the certificates' attributes from. If not specified the API will use user's default company.
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listCertificateExemptReasons

        public FetchResult<ExemptionReasonModel> listCertificateExemptReasons​(java.lang.String filter,
                                                                              java.lang.Integer top,
                                                                              java.lang.Integer skip,
                                                                              java.lang.String orderBy)
                                                                       throws java.lang.Exception
        List the certificate exempt reasons defined by a company List the certificate exempt reasons defined by a company. An exemption reason defines why a certificate allows a customer to be exempt for purposes of tax calculation. If you see the 'CertCaptureNotConfiguredError', please use CheckProvision and RequestProvision endpoints to
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listCertificateExemptReasonsAsync

        public java.util.concurrent.Future<FetchResult<ExemptionReasonModel>> listCertificateExemptReasonsAsync​(java.lang.String filter,
                                                                                                                java.lang.Integer top,
                                                                                                                java.lang.Integer skip,
                                                                                                                java.lang.String orderBy)
        List the certificate exempt reasons defined by a company List the certificate exempt reasons defined by a company. An exemption reason defines why a certificate allows a customer to be exempt for purposes of tax calculation. If you see the 'CertCaptureNotConfiguredError', please use CheckProvision and RequestProvision endpoints to
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listCertificateExposureZones

        public FetchResult<ExposureZoneModel> listCertificateExposureZones​(java.lang.String filter,
                                                                           java.lang.Integer top,
                                                                           java.lang.Integer skip,
                                                                           java.lang.String orderBy)
                                                                    throws java.lang.Exception
        List certificate exposure zones used by a company List the certificate exposure zones defined by a company. An exposure zone is a location where a certificate can be valid. Exposure zones may indicate a taxing authority or other legal entity to which a certificate may apply. If you see the 'CertCaptureNotConfiguredError', please use CheckProvision and RequestProvision endpoints to
        Parameters:
        filter - 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/).
        *Not filterable:* id, companyId, name, tag, description, created, modified, region, country
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listCertificateExposureZonesAsync

        public java.util.concurrent.Future<FetchResult<ExposureZoneModel>> listCertificateExposureZonesAsync​(java.lang.String filter,
                                                                                                             java.lang.Integer top,
                                                                                                             java.lang.Integer skip,
                                                                                                             java.lang.String orderBy)
        List certificate exposure zones used by a company List the certificate exposure zones defined by a company. An exposure zone is a location where a certificate can be valid. Exposure zones may indicate a taxing authority or other legal entity to which a certificate may apply. If you see the 'CertCaptureNotConfiguredError', please use CheckProvision and RequestProvision endpoints to
        Parameters:
        filter - 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/).
        *Not filterable:* id, companyId, name, tag, description, created, modified, region, country
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listCommunicationsServiceTypes

        public FetchResult<CommunicationsTSPairModel> listCommunicationsServiceTypes​(java.lang.Integer id,
                                                                                     java.lang.String filter,
                                                                                     java.lang.Integer top,
                                                                                     java.lang.Integer skip,
                                                                                     java.lang.String orderBy)
                                                                              throws java.lang.Exception
        Retrieve the full list of communications service types
        Parameters:
        id - The transaction type ID to examine
        filter - 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/).
        *Not filterable:* requiredParameters
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listCommunicationsServiceTypesAsync

        public java.util.concurrent.Future<FetchResult<CommunicationsTSPairModel>> listCommunicationsServiceTypesAsync​(java.lang.Integer id,
                                                                                                                       java.lang.String filter,
                                                                                                                       java.lang.Integer top,
                                                                                                                       java.lang.Integer skip,
                                                                                                                       java.lang.String orderBy)
        Retrieve the full list of communications service types
        Parameters:
        id - The transaction type ID to examine
        filter - 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/).
        *Not filterable:* requiredParameters
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listCommunicationsTransactionTypes

        public FetchResult<CommunicationsTransactionTypeModel> listCommunicationsTransactionTypes​(java.lang.String filter,
                                                                                                  java.lang.Integer top,
                                                                                                  java.lang.Integer skip,
                                                                                                  java.lang.String orderBy)
                                                                                           throws java.lang.Exception
        Retrieve the full list of communications transactiontypes Returns full list of communications transaction types which
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listCommunicationsTransactionTypesAsync

        public java.util.concurrent.Future<FetchResult<CommunicationsTransactionTypeModel>> listCommunicationsTransactionTypesAsync​(java.lang.String filter,
                                                                                                                                    java.lang.Integer top,
                                                                                                                                    java.lang.Integer skip,
                                                                                                                                    java.lang.String orderBy)
        Retrieve the full list of communications transactiontypes Returns full list of communications transaction types which
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listCommunicationsTSPairs

        public FetchResult<CommunicationsTSPairModel> listCommunicationsTSPairs​(java.lang.String filter,
                                                                                java.lang.Integer top,
                                                                                java.lang.Integer skip,
                                                                                java.lang.String orderBy)
                                                                         throws java.lang.Exception
        Retrieve the full list of communications transaction/service type pairs Returns full list of communications transaction/service type pairs which
        Parameters:
        filter - 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/).
        *Not filterable:* requiredParameters
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listCommunicationsTSPairsAsync

        public java.util.concurrent.Future<FetchResult<CommunicationsTSPairModel>> listCommunicationsTSPairsAsync​(java.lang.String filter,
                                                                                                                  java.lang.Integer top,
                                                                                                                  java.lang.Integer skip,
                                                                                                                  java.lang.String orderBy)
        Retrieve the full list of communications transaction/service type pairs Returns full list of communications transaction/service type pairs which
        Parameters:
        filter - 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/).
        *Not filterable:* requiredParameters
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listCountries

        public FetchResult<IsoCountryModel> listCountries​(java.lang.String filter,
                                                          java.lang.Integer top,
                                                          java.lang.Integer skip,
                                                          java.lang.String orderBy)
                                                   throws java.lang.Exception
        List all ISO 3166 countries Returns a list of all ISO 3166 country codes, and their US English friendly names. This API is intended to be useful when presenting a dropdown box in your website to allow customers to select a country for
        Parameters:
        filter - 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/).
        *Not filterable:* alpha3Code, isEuropeanUnion, localizedNames, addressesRequireRegion
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listCountriesAsync

        public java.util.concurrent.Future<FetchResult<IsoCountryModel>> listCountriesAsync​(java.lang.String filter,
                                                                                            java.lang.Integer top,
                                                                                            java.lang.Integer skip,
                                                                                            java.lang.String orderBy)
        List all ISO 3166 countries Returns a list of all ISO 3166 country codes, and their US English friendly names. This API is intended to be useful when presenting a dropdown box in your website to allow customers to select a country for
        Parameters:
        filter - 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/).
        *Not filterable:* alpha3Code, isEuropeanUnion, localizedNames, addressesRequireRegion
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listCoverLetters

        public FetchResult<CoverLetterModel> listCoverLetters​(java.lang.String filter,
                                                              java.lang.Integer top,
                                                              java.lang.Integer skip,
                                                              java.lang.String orderBy)
                                                       throws java.lang.Exception
        List certificate exposure zones used by a company List available cover letters that can be used when sending invitation to use CertExpress to upload certificates. The CoverLetter model represents a message sent along with an invitation to use CertExpress to upload certificates. An invitation allows customers to use CertExpress to upload their exemption certificates directly; this cover letter explains why the invitation was sent. If you see the 'CertCaptureNotConfiguredError', please use CheckProvision and RequestProvision endpoints to
        Parameters:
        filter - 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/).
        *Not filterable:* id, companyId, subject, description, createdDate, modifiedDate, pageCount, templateFilename, version
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listCoverLettersAsync

        public java.util.concurrent.Future<FetchResult<CoverLetterModel>> listCoverLettersAsync​(java.lang.String filter,
                                                                                                java.lang.Integer top,
                                                                                                java.lang.Integer skip,
                                                                                                java.lang.String orderBy)
        List certificate exposure zones used by a company List available cover letters that can be used when sending invitation to use CertExpress to upload certificates. The CoverLetter model represents a message sent along with an invitation to use CertExpress to upload certificates. An invitation allows customers to use CertExpress to upload their exemption certificates directly; this cover letter explains why the invitation was sent. If you see the 'CertCaptureNotConfiguredError', please use CheckProvision and RequestProvision endpoints to
        Parameters:
        filter - 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/).
        *Not filterable:* id, companyId, subject, description, createdDate, modifiedDate, pageCount, templateFilename, version
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listCrossBorderCodes

        public FetchResult<HsCodeModel> listCrossBorderCodes​(java.lang.String country,
                                                             java.lang.String hsCode,
                                                             java.lang.String filter,
                                                             java.lang.Integer top,
                                                             java.lang.Integer skip,
                                                             java.lang.String orderBy)
                                                      throws java.lang.Exception
        Lists the next level of HS Codes given a destination country and HS Code prefix. Retrieves a list of HS Codes that are the children of the prefix for the given destination country, if additional children are available. HS Code is interchangeable with "tariff code" and definitions are generally unique to a destination country. An HS Code describes an item and its eligibility/rate for tariffs. HS Codes are organized by Section/Chapter/Heading/Subheading/Classification. This API is intended to be useful to identify the correct HS Code to use for your item. ### Security Policies * This API depends on the following active services:*Required* (all): AvaTaxGlobal.
        Parameters:
        country - The name or code of the destination country.
        hsCode - The Section or partial HS Code for which you would like to view the next level of HS Code detail, if more detail is available.
        filter - 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/).
        *Not filterable:* hsCodeSource, system, destinationCountry, isDecisionNode, zeroPaddingCount, isSystemDefined, isTaxable, effDate, endDate, hsCodeSourceLength
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listCrossBorderCodesAsync

        public java.util.concurrent.Future<FetchResult<HsCodeModel>> listCrossBorderCodesAsync​(java.lang.String country,
                                                                                               java.lang.String hsCode,
                                                                                               java.lang.String filter,
                                                                                               java.lang.Integer top,
                                                                                               java.lang.Integer skip,
                                                                                               java.lang.String orderBy)
        Lists the next level of HS Codes given a destination country and HS Code prefix. Retrieves a list of HS Codes that are the children of the prefix for the given destination country, if additional children are available. HS Code is interchangeable with "tariff code" and definitions are generally unique to a destination country. An HS Code describes an item and its eligibility/rate for tariffs. HS Codes are organized by Section/Chapter/Heading/Subheading/Classification. This API is intended to be useful to identify the correct HS Code to use for your item. ### Security Policies * This API depends on the following active services:*Required* (all): AvaTaxGlobal.
        Parameters:
        country - The name or code of the destination country.
        hsCode - The Section or partial HS Code for which you would like to view the next level of HS Code detail, if more detail is available.
        filter - 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/).
        *Not filterable:* hsCodeSource, system, destinationCountry, isDecisionNode, zeroPaddingCount, isSystemDefined, isTaxable, effDate, endDate, hsCodeSourceLength
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listCrossBorderSections

        public FetchResult<HsCodeModel> listCrossBorderSections()
                                                         throws java.lang.Exception
        List top level HS Code Sections. Returns the full list of top level HS Code Sections. Sections are the broadest level of detail for classifying tariff codes and the items to which they apply. HS Codes are organized by Section/Chapter/Heading/Subheading/Classification. This API is intended to be useful to identify the top level Sections for further LandedCost HS Code lookups. ### Security Policies * This API depends on the following active services:*Required* (all): AvaTaxGlobal.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listCrossBorderSectionsAsync

        public java.util.concurrent.Future<FetchResult<HsCodeModel>> listCrossBorderSectionsAsync()
        List top level HS Code Sections. Returns the full list of top level HS Code Sections. Sections are the broadest level of detail for classifying tariff codes and the items to which they apply. HS Codes are organized by Section/Chapter/Heading/Subheading/Classification. This API is intended to be useful to identify the top level Sections for further LandedCost HS Code lookups. ### Security Policies * This API depends on the following active services:*Required* (all): AvaTaxGlobal.
        Returns:
        FetchResult
      • listCurrencies

        public FetchResult<CurrencyModel> listCurrencies​(java.lang.String filter,
                                                         java.lang.Integer top,
                                                         java.lang.Integer skip,
                                                         java.lang.String orderBy)
                                                  throws java.lang.Exception
        List all ISO 4217 currencies supported by AvaTax. Lists all ISO 4217 currencies supported by AvaTax. This API produces a list of currency codes that can be used when calling AvaTax. The values from this API can be used to fill out the
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listCurrenciesAsync

        public java.util.concurrent.Future<FetchResult<CurrencyModel>> listCurrenciesAsync​(java.lang.String filter,
                                                                                           java.lang.Integer top,
                                                                                           java.lang.Integer skip,
                                                                                           java.lang.String orderBy)
        List all ISO 4217 currencies supported by AvaTax. Lists all ISO 4217 currencies supported by AvaTax. This API produces a list of currency codes that can be used when calling AvaTax. The values from this API can be used to fill out the
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listEntityUseCodes

        public FetchResult<EntityUseCodeModel> listEntityUseCodes​(java.lang.String filter,
                                                                  java.lang.Integer top,
                                                                  java.lang.Integer skip,
                                                                  java.lang.String orderBy)
                                                           throws java.lang.Exception
        Retrieve the full list of Avalara-supported entity use codes Returns the full list of Avalara-supported entity use codes. Entity/Use Codes are definitions of the entity who is purchasing something, or the purpose for which the transaction is occurring. This information is generally used to determine taxability of the product. In order to facilitate correct reporting of your taxes, you are encouraged to select the proper entity use codes for
        Parameters:
        filter - 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/).
        *Not filterable:* validCountries
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listEntityUseCodesAsync

        public java.util.concurrent.Future<FetchResult<EntityUseCodeModel>> listEntityUseCodesAsync​(java.lang.String filter,
                                                                                                    java.lang.Integer top,
                                                                                                    java.lang.Integer skip,
                                                                                                    java.lang.String orderBy)
        Retrieve the full list of Avalara-supported entity use codes Returns the full list of Avalara-supported entity use codes. Entity/Use Codes are definitions of the entity who is purchasing something, or the purpose for which the transaction is occurring. This information is generally used to determine taxability of the product. In order to facilitate correct reporting of your taxes, you are encouraged to select the proper entity use codes for
        Parameters:
        filter - 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/).
        *Not filterable:* validCountries
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listFilingFrequencies

        public FetchResult<FilingFrequencyModel> listFilingFrequencies​(java.lang.String filter,
                                                                       java.lang.Integer top,
                                                                       java.lang.Integer skip,
                                                                       java.lang.String orderBy)
                                                                throws java.lang.Exception
        Retrieve the full list of Avalara-supported filing frequencies. Returns the full list of Avalara-supported filing frequencies.
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listFilingFrequenciesAsync

        public java.util.concurrent.Future<FetchResult<FilingFrequencyModel>> listFilingFrequenciesAsync​(java.lang.String filter,
                                                                                                         java.lang.Integer top,
                                                                                                         java.lang.Integer skip,
                                                                                                         java.lang.String orderBy)
        Retrieve the full list of Avalara-supported filing frequencies. Returns the full list of Avalara-supported filing frequencies.
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listJurisdictions

        public FetchResult<JurisdictionModel> listJurisdictions​(java.lang.String filter,
                                                                java.lang.Integer top,
                                                                java.lang.Integer skip,
                                                                java.lang.String orderBy)
                                                         throws java.lang.Exception
        List jurisdictions based on the filter provided Returns a list of all Avalara-supported taxing jurisdictions. This API allows you to examine all Avalara-supported jurisdictions. You can filter your search by supplying SQL-like query for fetching only the ones you concerned about. For example: effectiveDate > '2016-01-01'
        Parameters:
        filter - 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/).
        *Not filterable:* rate, salesRate, signatureCode, useRate
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listJurisdictionsAsync

        public java.util.concurrent.Future<FetchResult<JurisdictionModel>> listJurisdictionsAsync​(java.lang.String filter,
                                                                                                  java.lang.Integer top,
                                                                                                  java.lang.Integer skip,
                                                                                                  java.lang.String orderBy)
        List jurisdictions based on the filter provided Returns a list of all Avalara-supported taxing jurisdictions. This API allows you to examine all Avalara-supported jurisdictions. You can filter your search by supplying SQL-like query for fetching only the ones you concerned about. For example: effectiveDate > '2016-01-01'
        Parameters:
        filter - 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/).
        *Not filterable:* rate, salesRate, signatureCode, useRate
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listJurisdictionsByAddress

        public FetchResult<JurisdictionOverrideModel> listJurisdictionsByAddress​(java.lang.String line1,
                                                                                 java.lang.String line2,
                                                                                 java.lang.String line3,
                                                                                 java.lang.String city,
                                                                                 java.lang.String region,
                                                                                 java.lang.String postalCode,
                                                                                 java.lang.String country,
                                                                                 java.lang.String filter,
                                                                                 java.lang.Integer top,
                                                                                 java.lang.Integer skip,
                                                                                 java.lang.String orderBy)
                                                                          throws java.lang.Exception
        List jurisdictions near a specific address Returns a list of all Avalara-supported taxing jurisdictions that apply to this address. This API allows you to identify which jurisdictions are nearby a specific address according to the best available geocoding information. It is intended to allow you to create a "Jurisdiction Override", which allows an address to be configured as belonging to a nearby jurisdiction in AvaTax.
        Parameters:
        line1 - The first address line portion of this address.
        line2 - The second address line portion of this address.
        line3 - The third address line portion of this address.
        city - The city portion of this address.
        region - The region, state, or province code portion of this address.
        postalCode - The postal code or zip code portion of this address.
        country - The two-character ISO-3166 code of the country portion of this address.
        filter - 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/).
        *Not filterable:* country, Jurisdictions
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listJurisdictionsByAddressAsync

        public java.util.concurrent.Future<FetchResult<JurisdictionOverrideModel>> listJurisdictionsByAddressAsync​(java.lang.String line1,
                                                                                                                   java.lang.String line2,
                                                                                                                   java.lang.String line3,
                                                                                                                   java.lang.String city,
                                                                                                                   java.lang.String region,
                                                                                                                   java.lang.String postalCode,
                                                                                                                   java.lang.String country,
                                                                                                                   java.lang.String filter,
                                                                                                                   java.lang.Integer top,
                                                                                                                   java.lang.Integer skip,
                                                                                                                   java.lang.String orderBy)
        List jurisdictions near a specific address Returns a list of all Avalara-supported taxing jurisdictions that apply to this address. This API allows you to identify which jurisdictions are nearby a specific address according to the best available geocoding information. It is intended to allow you to create a "Jurisdiction Override", which allows an address to be configured as belonging to a nearby jurisdiction in AvaTax.
        Parameters:
        line1 - The first address line portion of this address.
        line2 - The second address line portion of this address.
        line3 - The third address line portion of this address.
        city - The city portion of this address.
        region - The region, state, or province code portion of this address.
        postalCode - The postal code or zip code portion of this address.
        country - The two-character ISO-3166 code of the country portion of this address.
        filter - 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/).
        *Not filterable:* country, Jurisdictions
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listLocationQuestionsByAddress

        public FetchResult<LocationQuestionModel> listLocationQuestionsByAddress​(java.lang.String line1,
                                                                                 java.lang.String line2,
                                                                                 java.lang.String line3,
                                                                                 java.lang.String city,
                                                                                 java.lang.String region,
                                                                                 java.lang.String postalCode,
                                                                                 java.lang.String country,
                                                                                 java.math.BigDecimal latitude,
                                                                                 java.math.BigDecimal longitude,
                                                                                 java.lang.String filter,
                                                                                 java.lang.Integer top,
                                                                                 java.lang.Integer skip,
                                                                                 java.lang.String orderBy)
                                                                          throws java.lang.Exception
        Retrieve the list of questions that are required for a tax location Returns the list of additional questions you must answer when declaring a location in certain taxing jurisdictions. Some tax jurisdictions require that you register or provide additional information to configure each physical place where your company does business. This information is not usually required in order to calculate tax correctly, but is almost always required to file your tax correctly. You can call this API call for any address and obtain information about what questions must be answered in order to properly
        Parameters:
        line1 - The first line of this location's address.
        line2 - The second line of this location's address.
        line3 - The third line of this location's address.
        city - The city part of this location's address.
        region - The region, state, or province part of this location's address.
        postalCode - The postal code of this location's address.
        country - The country part of this location's address.
        latitude - Optionally identify the location via latitude/longitude instead of via address.
        longitude - Optionally identify the location via latitude/longitude instead of via address.
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listLocationQuestionsByAddressAsync

        public java.util.concurrent.Future<FetchResult<LocationQuestionModel>> listLocationQuestionsByAddressAsync​(java.lang.String line1,
                                                                                                                   java.lang.String line2,
                                                                                                                   java.lang.String line3,
                                                                                                                   java.lang.String city,
                                                                                                                   java.lang.String region,
                                                                                                                   java.lang.String postalCode,
                                                                                                                   java.lang.String country,
                                                                                                                   java.math.BigDecimal latitude,
                                                                                                                   java.math.BigDecimal longitude,
                                                                                                                   java.lang.String filter,
                                                                                                                   java.lang.Integer top,
                                                                                                                   java.lang.Integer skip,
                                                                                                                   java.lang.String orderBy)
        Retrieve the list of questions that are required for a tax location Returns the list of additional questions you must answer when declaring a location in certain taxing jurisdictions. Some tax jurisdictions require that you register or provide additional information to configure each physical place where your company does business. This information is not usually required in order to calculate tax correctly, but is almost always required to file your tax correctly. You can call this API call for any address and obtain information about what questions must be answered in order to properly
        Parameters:
        line1 - The first line of this location's address.
        line2 - The second line of this location's address.
        line3 - The third line of this location's address.
        city - The city part of this location's address.
        region - The region, state, or province part of this location's address.
        postalCode - The postal code of this location's address.
        country - The country part of this location's address.
        latitude - Optionally identify the location via latitude/longitude instead of via address.
        longitude - Optionally identify the location via latitude/longitude instead of via address.
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listLoginVerifiers

        public FetchResult<SkyscraperStatusModel> listLoginVerifiers​(java.lang.String filter,
                                                                     java.lang.Integer top,
                                                                     java.lang.Integer skip,
                                                                     java.lang.String orderBy)
                                                              throws java.lang.Exception
        List all forms where logins can be verified automatically List all forms where logins can be verified automatically. This API is intended to be useful to identify whether the user should be allowed
        Parameters:
        filter - 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/).
        *Not filterable:* taxFormCodes, scraperType, expectedResponseTime, requiredFilingCalendarDataFields
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listLoginVerifiersAsync

        public java.util.concurrent.Future<FetchResult<SkyscraperStatusModel>> listLoginVerifiersAsync​(java.lang.String filter,
                                                                                                       java.lang.Integer top,
                                                                                                       java.lang.Integer skip,
                                                                                                       java.lang.String orderBy)
        List all forms where logins can be verified automatically List all forms where logins can be verified automatically. This API is intended to be useful to identify whether the user should be allowed
        Parameters:
        filter - 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/).
        *Not filterable:* taxFormCodes, scraperType, expectedResponseTime, requiredFilingCalendarDataFields
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listMarketplaceLocations

        public FetchResult<MarketplaceLocationModel> listMarketplaceLocations​(java.lang.String marketplaceId,
                                                                              java.lang.Integer top,
                                                                              java.lang.Integer skip,
                                                                              java.lang.String orderBy)
                                                                       throws java.lang.Exception
        Retrieve the list of locations for a marketplace.
        Parameters:
        marketplaceId - MarketplaceId of a marketplace
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listMarketplaceLocationsAsync

        public java.util.concurrent.Future<FetchResult<MarketplaceLocationModel>> listMarketplaceLocationsAsync​(java.lang.String marketplaceId,
                                                                                                                java.lang.Integer top,
                                                                                                                java.lang.Integer skip,
                                                                                                                java.lang.String orderBy)
        Retrieve the list of locations for a marketplace.
        Parameters:
        marketplaceId - MarketplaceId of a marketplace
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listNexus

        public FetchResult<NexusModel> listNexus​(java.lang.String filter,
                                                 java.lang.Integer top,
                                                 java.lang.Integer skip,
                                                 java.lang.String orderBy)
                                          throws java.lang.Exception
        Retrieve the full list of Avalara-supported nexus for all countries and regions. Returns the full list of all Avalara-supported nexus for all countries and regions.
        Parameters:
        filter - 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/).
        *Not filterable:* streamlinedSalesTax, isSSTActive, taxAuthorityId, taxName, parameters, taxableNexus
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listNexusAsync

        public java.util.concurrent.Future<FetchResult<NexusModel>> listNexusAsync​(java.lang.String filter,
                                                                                   java.lang.Integer top,
                                                                                   java.lang.Integer skip,
                                                                                   java.lang.String orderBy)
        Retrieve the full list of Avalara-supported nexus for all countries and regions. Returns the full list of all Avalara-supported nexus for all countries and regions.
        Parameters:
        filter - 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/).
        *Not filterable:* streamlinedSalesTax, isSSTActive, taxAuthorityId, taxName, parameters, taxableNexus
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listNexusByAddress

        public FetchResult<NexusModel> listNexusByAddress​(java.lang.String line1,
                                                          java.lang.String line2,
                                                          java.lang.String line3,
                                                          java.lang.String city,
                                                          java.lang.String region,
                                                          java.lang.String postalCode,
                                                          java.lang.String country,
                                                          java.lang.String filter,
                                                          java.lang.Integer top,
                                                          java.lang.Integer skip,
                                                          java.lang.String orderBy)
                                                   throws java.lang.Exception
        List all nexus that apply to a specific address. Returns a list of all Avalara-supported taxing jurisdictions that apply to this address. This API allows you to identify which tax authorities apply to a physical location, salesperson address, or point of sale. In general, it is usually expected that a company will declare nexus in all the jurisdictions that apply to each physical address where the company does business.
        Parameters:
        line1 - The first address line portion of this address.
        line2 - The first address line portion of this address.
        line3 - The first address line portion of this address.
        city - The city portion of this address.
        region - Name or ISO 3166 code identifying the region portion of the address. This field supports many different region identifiers: * Two and three character ISO 3166 region codes * Fully spelled out names of the region in ISO supported languages * Common alternative spellings for many regions For a full list of all supported codes and names, please see the Definitions API `ListRegions`.
        postalCode - The postal code or zip code portion of this address.
        country - Name or ISO 3166 code identifying the country portion of this address. This field supports many different country identifiers: * Two character ISO 3166 codes * Three character ISO 3166 codes * Fully spelled out names of the country in ISO supported languages * Common alternative spellings for many countries For a full list of all supported codes and names, please see the Definitions API `ListCountries`.
        filter - 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/).
        *Not filterable:* streamlinedSalesTax, isSSTActive, taxAuthorityId, taxName, parameters, taxableNexus
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listNexusByAddressAsync

        public java.util.concurrent.Future<FetchResult<NexusModel>> listNexusByAddressAsync​(java.lang.String line1,
                                                                                            java.lang.String line2,
                                                                                            java.lang.String line3,
                                                                                            java.lang.String city,
                                                                                            java.lang.String region,
                                                                                            java.lang.String postalCode,
                                                                                            java.lang.String country,
                                                                                            java.lang.String filter,
                                                                                            java.lang.Integer top,
                                                                                            java.lang.Integer skip,
                                                                                            java.lang.String orderBy)
        List all nexus that apply to a specific address. Returns a list of all Avalara-supported taxing jurisdictions that apply to this address. This API allows you to identify which tax authorities apply to a physical location, salesperson address, or point of sale. In general, it is usually expected that a company will declare nexus in all the jurisdictions that apply to each physical address where the company does business.
        Parameters:
        line1 - The first address line portion of this address.
        line2 - The first address line portion of this address.
        line3 - The first address line portion of this address.
        city - The city portion of this address.
        region - Name or ISO 3166 code identifying the region portion of the address. This field supports many different region identifiers: * Two and three character ISO 3166 region codes * Fully spelled out names of the region in ISO supported languages * Common alternative spellings for many regions For a full list of all supported codes and names, please see the Definitions API `ListRegions`.
        postalCode - The postal code or zip code portion of this address.
        country - Name or ISO 3166 code identifying the country portion of this address. This field supports many different country identifiers: * Two character ISO 3166 codes * Three character ISO 3166 codes * Fully spelled out names of the country in ISO supported languages * Common alternative spellings for many countries For a full list of all supported codes and names, please see the Definitions API `ListCountries`.
        filter - 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/).
        *Not filterable:* streamlinedSalesTax, isSSTActive, taxAuthorityId, taxName, parameters, taxableNexus
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listNexusByCountry

        public FetchResult<NexusModel> listNexusByCountry​(java.lang.String country,
                                                          java.lang.String filter,
                                                          java.lang.Integer top,
                                                          java.lang.Integer skip,
                                                          java.lang.String orderBy)
                                                   throws java.lang.Exception
        Retrieve the full list of Avalara-supported nexus for a country. Returns all Avalara-supported nexus for the specified country.
        Parameters:
        country - The country in which you want to fetch the system nexus
        filter - 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/).
        *Not filterable:* streamlinedSalesTax, isSSTActive, taxAuthorityId, taxName, parameters, taxableNexus
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listNexusByCountryAsync

        public java.util.concurrent.Future<FetchResult<NexusModel>> listNexusByCountryAsync​(java.lang.String country,
                                                                                            java.lang.String filter,
                                                                                            java.lang.Integer top,
                                                                                            java.lang.Integer skip,
                                                                                            java.lang.String orderBy)
        Retrieve the full list of Avalara-supported nexus for a country. Returns all Avalara-supported nexus for the specified country.
        Parameters:
        country - The country in which you want to fetch the system nexus
        filter - 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/).
        *Not filterable:* streamlinedSalesTax, isSSTActive, taxAuthorityId, taxName, parameters, taxableNexus
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listNexusByCountryAndRegion

        public FetchResult<NexusModel> listNexusByCountryAndRegion​(java.lang.String country,
                                                                   java.lang.String region,
                                                                   java.lang.String filter,
                                                                   java.lang.Integer top,
                                                                   java.lang.Integer skip,
                                                                   java.lang.String orderBy)
                                                            throws java.lang.Exception
        Retrieve the full list of Avalara-supported nexus for a country and region. Returns all Avalara-supported nexus for the specified country and region.
        Parameters:
        country - The two-character ISO-3166 code for the country.
        region - The two or three character region code for the region.
        filter - 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/).
        *Not filterable:* streamlinedSalesTax, isSSTActive, taxAuthorityId, taxName, parameters, taxableNexus
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listNexusByCountryAndRegionAsync

        public java.util.concurrent.Future<FetchResult<NexusModel>> listNexusByCountryAndRegionAsync​(java.lang.String country,
                                                                                                     java.lang.String region,
                                                                                                     java.lang.String filter,
                                                                                                     java.lang.Integer top,
                                                                                                     java.lang.Integer skip,
                                                                                                     java.lang.String orderBy)
        Retrieve the full list of Avalara-supported nexus for a country and region. Returns all Avalara-supported nexus for the specified country and region.
        Parameters:
        country - The two-character ISO-3166 code for the country.
        region - The two or three character region code for the region.
        filter - 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/).
        *Not filterable:* streamlinedSalesTax, isSSTActive, taxAuthorityId, taxName, parameters, taxableNexus
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listNexusByFormCode

        public NexusByTaxFormModel listNexusByFormCode​(java.lang.String formCode)
                                                throws java.lang.Exception
        List nexus related to a tax form Retrieves a list of nexus related to a tax form. The concept of `Nexus` indicates a place where your company has sufficient physical presence and is obligated to collect and remit transaction-based taxes. When defining companies in AvaTax, you must declare nexus for your company in order to correctly calculate tax in all jurisdictions affected by your transactions. This API is intended to provide useful information when examining a tax form. If you are about to begin filing a tax form, you may want to know whether you have declared nexus in all the jurisdictions related to that tax form in order to better understand how the form will be filled out. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        formCode - The form code that we are looking up the nexus for
        Returns:
        NexusByTaxFormModel
        Throws:
        java.lang.Exception
      • listNexusByFormCodeAsync

        public java.util.concurrent.Future<NexusByTaxFormModel> listNexusByFormCodeAsync​(java.lang.String formCode)
        List nexus related to a tax form Retrieves a list of nexus related to a tax form. The concept of `Nexus` indicates a place where your company has sufficient physical presence and is obligated to collect and remit transaction-based taxes. When defining companies in AvaTax, you must declare nexus for your company in order to correctly calculate tax in all jurisdictions affected by your transactions. This API is intended to provide useful information when examining a tax form. If you are about to begin filing a tax form, you may want to know whether you have declared nexus in all the jurisdictions related to that tax form in order to better understand how the form will be filled out. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        formCode - The form code that we are looking up the nexus for
        Returns:
        NexusByTaxFormModel
      • listNexusTaxTypeGroups

        public FetchResult<NexusTaxTypeGroupModel> listNexusTaxTypeGroups​(java.lang.String filter,
                                                                          java.lang.Integer top,
                                                                          java.lang.Integer skip,
                                                                          java.lang.String orderBy)
                                                                   throws java.lang.Exception
        Retrieve the full list of nexus tax type groups Returns the full list of Avalara-supported nexus tax type groups
        Parameters:
        filter - 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/).
        *Not filterable:* subscriptionTypeId, subscriptionDescription, tabName, showColumn
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listNexusTaxTypeGroupsAsync

        public java.util.concurrent.Future<FetchResult<NexusTaxTypeGroupModel>> listNexusTaxTypeGroupsAsync​(java.lang.String filter,
                                                                                                            java.lang.Integer top,
                                                                                                            java.lang.Integer skip,
                                                                                                            java.lang.String orderBy)
        Retrieve the full list of nexus tax type groups Returns the full list of Avalara-supported nexus tax type groups
        Parameters:
        filter - 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/).
        *Not filterable:* subscriptionTypeId, subscriptionDescription, tabName, showColumn
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listNoticeCustomerFundingOptions

        public FetchResult<NoticeCustomerFundingOptionModel> listNoticeCustomerFundingOptions​(java.lang.String filter,
                                                                                              java.lang.Integer top,
                                                                                              java.lang.Integer skip,
                                                                                              java.lang.String orderBy)
                                                                                       throws java.lang.Exception
        Retrieve the full list of Avalara-supported tax notice customer funding options. Returns the full list of Avalara-supported tax notice customer funding options.
        Parameters:
        filter - 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/).
        *Not filterable:* activeFlag, sortOrder
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listNoticeCustomerFundingOptionsAsync

        public java.util.concurrent.Future<FetchResult<NoticeCustomerFundingOptionModel>> listNoticeCustomerFundingOptionsAsync​(java.lang.String filter,
                                                                                                                                java.lang.Integer top,
                                                                                                                                java.lang.Integer skip,
                                                                                                                                java.lang.String orderBy)
        Retrieve the full list of Avalara-supported tax notice customer funding options. Returns the full list of Avalara-supported tax notice customer funding options.
        Parameters:
        filter - 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/).
        *Not filterable:* activeFlag, sortOrder
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listNoticeCustomerTypes

        public FetchResult<NoticeCustomerTypeModel> listNoticeCustomerTypes​(java.lang.String filter,
                                                                            java.lang.Integer top,
                                                                            java.lang.Integer skip,
                                                                            java.lang.String orderBy)
                                                                     throws java.lang.Exception
        Retrieve the full list of Avalara-supported tax notice customer types. Returns the full list of Avalara-supported tax notice customer types.
        Parameters:
        filter - 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/).
        *Not filterable:* activeFlag, sortOrder
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listNoticeCustomerTypesAsync

        public java.util.concurrent.Future<FetchResult<NoticeCustomerTypeModel>> listNoticeCustomerTypesAsync​(java.lang.String filter,
                                                                                                              java.lang.Integer top,
                                                                                                              java.lang.Integer skip,
                                                                                                              java.lang.String orderBy)
        Retrieve the full list of Avalara-supported tax notice customer types. Returns the full list of Avalara-supported tax notice customer types.
        Parameters:
        filter - 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/).
        *Not filterable:* activeFlag, sortOrder
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listNoticeFilingtypes

        public FetchResult<NoticeFilingTypeModel> listNoticeFilingtypes​(java.lang.String filter,
                                                                        java.lang.Integer top,
                                                                        java.lang.Integer skip,
                                                                        java.lang.String orderBy)
                                                                 throws java.lang.Exception
        Retrieve the full list of Avalara-supported tax notice filing types. Returns the full list of Avalara-supported tax notice filing types.
        Parameters:
        filter - 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/).
        *Not filterable:* description, activeFlag, sortOrder
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listNoticeFilingtypesAsync

        public java.util.concurrent.Future<FetchResult<NoticeFilingTypeModel>> listNoticeFilingtypesAsync​(java.lang.String filter,
                                                                                                          java.lang.Integer top,
                                                                                                          java.lang.Integer skip,
                                                                                                          java.lang.String orderBy)
        Retrieve the full list of Avalara-supported tax notice filing types. Returns the full list of Avalara-supported tax notice filing types.
        Parameters:
        filter - 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/).
        *Not filterable:* description, activeFlag, sortOrder
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listNoticePriorities

        public FetchResult<NoticePriorityModel> listNoticePriorities​(java.lang.String filter,
                                                                     java.lang.Integer top,
                                                                     java.lang.Integer skip,
                                                                     java.lang.String orderBy)
                                                              throws java.lang.Exception
        Retrieve the full list of Avalara-supported tax notice priorities. Returns the full list of Avalara-supported tax notice priorities.
        Parameters:
        filter - 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/).
        *Not filterable:* activeFlag, sortOrder
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listNoticePrioritiesAsync

        public java.util.concurrent.Future<FetchResult<NoticePriorityModel>> listNoticePrioritiesAsync​(java.lang.String filter,
                                                                                                       java.lang.Integer top,
                                                                                                       java.lang.Integer skip,
                                                                                                       java.lang.String orderBy)
        Retrieve the full list of Avalara-supported tax notice priorities. Returns the full list of Avalara-supported tax notice priorities.
        Parameters:
        filter - 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/).
        *Not filterable:* activeFlag, sortOrder
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listNoticeReasons

        public FetchResult<NoticeReasonModel> listNoticeReasons​(java.lang.String filter,
                                                                java.lang.Integer top,
                                                                java.lang.Integer skip,
                                                                java.lang.String orderBy)
                                                         throws java.lang.Exception
        Retrieve the full list of Avalara-supported tax notice reasons. Returns the full list of Avalara-supported tax notice reasons.
        Parameters:
        filter - 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/).
        *Not filterable:* description, activeFlag, sortOrder
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listNoticeReasonsAsync

        public java.util.concurrent.Future<FetchResult<NoticeReasonModel>> listNoticeReasonsAsync​(java.lang.String filter,
                                                                                                  java.lang.Integer top,
                                                                                                  java.lang.Integer skip,
                                                                                                  java.lang.String orderBy)
        Retrieve the full list of Avalara-supported tax notice reasons. Returns the full list of Avalara-supported tax notice reasons.
        Parameters:
        filter - 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/).
        *Not filterable:* description, activeFlag, sortOrder
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listNoticeResponsibilities

        public FetchResult<NoticeResponsibilityModel> listNoticeResponsibilities​(java.lang.String filter,
                                                                                 java.lang.Integer top,
                                                                                 java.lang.Integer skip,
                                                                                 java.lang.String orderBy)
                                                                          throws java.lang.Exception
        Retrieve the full list of Avalara-supported tax notice responsibility ids Returns the full list of Avalara-supported tax notice responsibility ids
        Parameters:
        filter - 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/).
        *Not filterable:* sortOrder
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listNoticeResponsibilitiesAsync

        public java.util.concurrent.Future<FetchResult<NoticeResponsibilityModel>> listNoticeResponsibilitiesAsync​(java.lang.String filter,
                                                                                                                   java.lang.Integer top,
                                                                                                                   java.lang.Integer skip,
                                                                                                                   java.lang.String orderBy)
        Retrieve the full list of Avalara-supported tax notice responsibility ids Returns the full list of Avalara-supported tax notice responsibility ids
        Parameters:
        filter - 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/).
        *Not filterable:* sortOrder
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listNoticeRootCauses

        public FetchResult<NoticeRootCauseModel> listNoticeRootCauses​(java.lang.String filter,
                                                                      java.lang.Integer top,
                                                                      java.lang.Integer skip,
                                                                      java.lang.String orderBy)
                                                               throws java.lang.Exception
        Retrieve the full list of Avalara-supported tax notice root causes Returns the full list of Avalara-supported tax notice root causes
        Parameters:
        filter - 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/).
        *Not filterable:* sortOrder
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listNoticeRootCausesAsync

        public java.util.concurrent.Future<FetchResult<NoticeRootCauseModel>> listNoticeRootCausesAsync​(java.lang.String filter,
                                                                                                        java.lang.Integer top,
                                                                                                        java.lang.Integer skip,
                                                                                                        java.lang.String orderBy)
        Retrieve the full list of Avalara-supported tax notice root causes Returns the full list of Avalara-supported tax notice root causes
        Parameters:
        filter - 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/).
        *Not filterable:* sortOrder
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listNoticeStatuses

        public FetchResult<NoticeStatusModel> listNoticeStatuses​(java.lang.String filter,
                                                                 java.lang.Integer top,
                                                                 java.lang.Integer skip,
                                                                 java.lang.String orderBy)
                                                          throws java.lang.Exception
        Retrieve the full list of Avalara-supported tax notice statuses. Returns the full list of Avalara-supported tax notice statuses.
        Parameters:
        filter - 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/).
        *Not filterable:* isOpen, sortOrder
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listNoticeStatusesAsync

        public java.util.concurrent.Future<FetchResult<NoticeStatusModel>> listNoticeStatusesAsync​(java.lang.String filter,
                                                                                                   java.lang.Integer top,
                                                                                                   java.lang.Integer skip,
                                                                                                   java.lang.String orderBy)
        Retrieve the full list of Avalara-supported tax notice statuses. Returns the full list of Avalara-supported tax notice statuses.
        Parameters:
        filter - 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/).
        *Not filterable:* isOpen, sortOrder
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listNoticeTypes

        public FetchResult<NoticeTypeModel> listNoticeTypes​(java.lang.String filter,
                                                            java.lang.Integer top,
                                                            java.lang.Integer skip,
                                                            java.lang.String orderBy)
                                                     throws java.lang.Exception
        Retrieve the full list of Avalara-supported tax notice types. Returns the full list of Avalara-supported tax notice types.
        Parameters:
        filter - 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/).
        *Not filterable:* activeFlag, sortOrder
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listNoticeTypesAsync

        public java.util.concurrent.Future<FetchResult<NoticeTypeModel>> listNoticeTypesAsync​(java.lang.String filter,
                                                                                              java.lang.Integer top,
                                                                                              java.lang.Integer skip,
                                                                                              java.lang.String orderBy)
        Retrieve the full list of Avalara-supported tax notice types. Returns the full list of Avalara-supported tax notice types.
        Parameters:
        filter - 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/).
        *Not filterable:* activeFlag, sortOrder
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listParameters

        public FetchResult<ParameterModel> listParameters​(java.lang.String filter,
                                                          java.lang.Integer top,
                                                          java.lang.Integer skip,
                                                          java.lang.String orderBy)
                                                   throws java.lang.Exception
        Retrieve the full list of Avalara-supported extra parameters for creating transactions. Returns the full list of Avalara-supported extra parameters for the 'Create Transaction' API call. This list of parameters is available for use when configuring your transaction.
        Parameters:
        filter - 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/).
        *Not filterable:* serviceTypes, regularExpression, values
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listParametersAsync

        public java.util.concurrent.Future<FetchResult<ParameterModel>> listParametersAsync​(java.lang.String filter,
                                                                                            java.lang.Integer top,
                                                                                            java.lang.Integer skip,
                                                                                            java.lang.String orderBy)
        Retrieve the full list of Avalara-supported extra parameters for creating transactions. Returns the full list of Avalara-supported extra parameters for the 'Create Transaction' API call. This list of parameters is available for use when configuring your transaction.
        Parameters:
        filter - 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/).
        *Not filterable:* serviceTypes, regularExpression, values
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listParametersByItem

        public FetchResult<ParameterModel> listParametersByItem​(java.lang.String companyCode,
                                                                java.lang.String itemCode,
                                                                java.lang.String filter,
                                                                java.lang.Integer top,
                                                                java.lang.Integer skip,
                                                                java.lang.String orderBy)
                                                         throws java.lang.Exception
        Retrieve the parameters by companyCode and itemCode. Returns the list of parameters based on the company country and state jurisdiction and the item code. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyCode - Company code.
        itemCode - Item code.
        filter - 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/).
        *Not filterable:* serviceTypes, regularExpression, values
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listParametersByItemAsync

        public java.util.concurrent.Future<FetchResult<ParameterModel>> listParametersByItemAsync​(java.lang.String companyCode,
                                                                                                  java.lang.String itemCode,
                                                                                                  java.lang.String filter,
                                                                                                  java.lang.Integer top,
                                                                                                  java.lang.Integer skip,
                                                                                                  java.lang.String orderBy)
        Retrieve the parameters by companyCode and itemCode. Returns the list of parameters based on the company country and state jurisdiction and the item code. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyCode - Company code.
        itemCode - Item code.
        filter - 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/).
        *Not filterable:* serviceTypes, regularExpression, values
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listParametersUsage

        public FetchResult<ParameterUsageModel> listParametersUsage​(java.lang.String filter,
                                                                    java.lang.Integer top,
                                                                    java.lang.Integer skip,
                                                                    java.lang.String orderBy)
                                                             throws java.lang.Exception
        Retrieve the full list of Avalara-supported usage of extra parameters for creating transactions. Returns the full list of Avalara-supported usage of extra parameters for the 'Create Transaction' API call. This list of parameters is available for use when configuring your transaction.
        Parameters:
        filter - 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/).
        *Not filterable:* values
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listParametersUsageAsync

        public java.util.concurrent.Future<FetchResult<ParameterUsageModel>> listParametersUsageAsync​(java.lang.String filter,
                                                                                                      java.lang.Integer top,
                                                                                                      java.lang.Integer skip,
                                                                                                      java.lang.String orderBy)
        Retrieve the full list of Avalara-supported usage of extra parameters for creating transactions. Returns the full list of Avalara-supported usage of extra parameters for the 'Create Transaction' API call. This list of parameters is available for use when configuring your transaction.
        Parameters:
        filter - 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/).
        *Not filterable:* values
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listPermissions

        public FetchResult<java.lang.String> listPermissions​(java.lang.Integer top,
                                                             java.lang.Integer skip)
                                                      throws java.lang.Exception
        Retrieve the full list of Avalara-supported permissions Returns the full list of Avalara-supported permission types.
        Parameters:
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listPermissionsAsync

        public java.util.concurrent.Future<FetchResult<java.lang.String>> listPermissionsAsync​(java.lang.Integer top,
                                                                                               java.lang.Integer skip)
        Retrieve the full list of Avalara-supported permissions Returns the full list of Avalara-supported permission types.
        Parameters:
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        Returns:
        FetchResult
      • listPostalCodes

        public FetchResult<PostalCodeModel> listPostalCodes​(java.lang.String filter,
                                                            java.lang.Integer top,
                                                            java.lang.Integer skip,
                                                            java.lang.String orderBy)
                                                     throws java.lang.Exception
        Retrieve the full list of Avalara-supported postal codes.
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listPostalCodesAsync

        public java.util.concurrent.Future<FetchResult<PostalCodeModel>> listPostalCodesAsync​(java.lang.String filter,
                                                                                              java.lang.Integer top,
                                                                                              java.lang.Integer skip,
                                                                                              java.lang.String orderBy)
        Retrieve the full list of Avalara-supported postal codes.
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listPreferredPrograms

        public FetchResult<PreferredProgramModel> listPreferredPrograms​(java.lang.String filter,
                                                                        java.lang.Integer top,
                                                                        java.lang.Integer skip,
                                                                        java.lang.String orderBy)
                                                                 throws java.lang.Exception
        List all customs duty programs recognized by AvaTax List all preferred customs duty programs recognized by AvaTax. A customs duty program is an optional program you can use to obtain favorable treatment from customs and duty agents. An example of a preferred program is NAFTA, which provides preferential rates for products being shipped from neighboring countries. To select a preferred program for calculating customs and duty rates, call this API to find the appropriate code for your preferred program. Next, set the parameter `AvaTax.LC.PreferredProgram` in your `CreateTransaction` call to the code of
        Parameters:
        filter - 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/).
        *Not filterable:* effectiveDate, endDate
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listPreferredProgramsAsync

        public java.util.concurrent.Future<FetchResult<PreferredProgramModel>> listPreferredProgramsAsync​(java.lang.String filter,
                                                                                                          java.lang.Integer top,
                                                                                                          java.lang.Integer skip,
                                                                                                          java.lang.String orderBy)
        List all customs duty programs recognized by AvaTax List all preferred customs duty programs recognized by AvaTax. A customs duty program is an optional program you can use to obtain favorable treatment from customs and duty agents. An example of a preferred program is NAFTA, which provides preferential rates for products being shipped from neighboring countries. To select a preferred program for calculating customs and duty rates, call this API to find the appropriate code for your preferred program. Next, set the parameter `AvaTax.LC.PreferredProgram` in your `CreateTransaction` call to the code of
        Parameters:
        filter - 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/).
        *Not filterable:* effectiveDate, endDate
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listProductClassificationSystems

        public FetchResult<ProductClassificationSystemModel> listProductClassificationSystems​(java.lang.String filter,
                                                                                              java.lang.Integer top,
                                                                                              java.lang.Integer skip,
                                                                                              java.lang.String orderBy,
                                                                                              java.lang.String countryCode)
                                                                                       throws java.lang.Exception
        List all available product classification systems. List all available product classification systems. Tax authorities use product classification systems as a way to identify products and associate them with a tax rate.
        Parameters:
        filter - 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/).
        *Not filterable:* countries
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        countryCode - If not null, return all records with this code.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listProductClassificationSystemsAsync

        public java.util.concurrent.Future<FetchResult<ProductClassificationSystemModel>> listProductClassificationSystemsAsync​(java.lang.String filter,
                                                                                                                                java.lang.Integer top,
                                                                                                                                java.lang.Integer skip,
                                                                                                                                java.lang.String orderBy,
                                                                                                                                java.lang.String countryCode)
        List all available product classification systems. List all available product classification systems. Tax authorities use product classification systems as a way to identify products and associate them with a tax rate.
        Parameters:
        filter - 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/).
        *Not filterable:* countries
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        countryCode - If not null, return all records with this code.
        Returns:
        FetchResult
      • listProductClassificationSystemsByCompany

        public FetchResult<ProductClassificationSystemModel> listProductClassificationSystemsByCompany​(java.lang.String companyCode,
                                                                                                       java.lang.String filter,
                                                                                                       java.lang.Integer top,
                                                                                                       java.lang.Integer skip,
                                                                                                       java.lang.String orderBy,
                                                                                                       java.lang.String countryCode)
                                                                                                throws java.lang.Exception
        List all product classification systems available to a company based on its nexus. Lists all product classification systems available to a company based on its nexus. Tax authorities use product classification systems as a way to identify products and associate them with a tax rate.
        Parameters:
        companyCode - The company code.
        filter - 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/).
        *Not filterable:* countries
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        countryCode - If not null, return all records with this code.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listProductClassificationSystemsByCompanyAsync

        public java.util.concurrent.Future<FetchResult<ProductClassificationSystemModel>> listProductClassificationSystemsByCompanyAsync​(java.lang.String companyCode,
                                                                                                                                         java.lang.String filter,
                                                                                                                                         java.lang.Integer top,
                                                                                                                                         java.lang.Integer skip,
                                                                                                                                         java.lang.String orderBy,
                                                                                                                                         java.lang.String countryCode)
        List all product classification systems available to a company based on its nexus. Lists all product classification systems available to a company based on its nexus. Tax authorities use product classification systems as a way to identify products and associate them with a tax rate.
        Parameters:
        companyCode - The company code.
        filter - 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/).
        *Not filterable:* countries
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        countryCode - If not null, return all records with this code.
        Returns:
        FetchResult
      • listRateTypesByCountry

        public FetchResult<RateTypeModel> listRateTypesByCountry​(java.lang.String country,
                                                                 java.lang.String filter,
                                                                 java.lang.Integer top,
                                                                 java.lang.Integer skip,
                                                                 java.lang.String orderBy)
                                                          throws java.lang.Exception
        Retrieve the full list of rate types for each country Returns the full list of Avalara-supported rate type file types
        Parameters:
        country - The country to examine for rate types
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listRateTypesByCountryAsync

        public java.util.concurrent.Future<FetchResult<RateTypeModel>> listRateTypesByCountryAsync​(java.lang.String country,
                                                                                                   java.lang.String filter,
                                                                                                   java.lang.Integer top,
                                                                                                   java.lang.Integer skip,
                                                                                                   java.lang.String orderBy)
        Retrieve the full list of rate types for each country Returns the full list of Avalara-supported rate type file types
        Parameters:
        country - The country to examine for rate types
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listRegions

        public FetchResult<IsoRegionModel> listRegions​(java.lang.String filter,
                                                       java.lang.Integer top,
                                                       java.lang.Integer skip,
                                                       java.lang.String orderBy)
                                                throws java.lang.Exception
        List all ISO 3166 regions Returns a list of all ISO 3166 region codes and their US English friendly names. This API is intended to be useful when presenting a dropdown box in your website to allow customers to select a region
        Parameters:
        filter - 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/).
        *Not filterable:* localizedNames
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listRegionsAsync

        public java.util.concurrent.Future<FetchResult<IsoRegionModel>> listRegionsAsync​(java.lang.String filter,
                                                                                         java.lang.Integer top,
                                                                                         java.lang.Integer skip,
                                                                                         java.lang.String orderBy)
        List all ISO 3166 regions Returns a list of all ISO 3166 region codes and their US English friendly names. This API is intended to be useful when presenting a dropdown box in your website to allow customers to select a region
        Parameters:
        filter - 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/).
        *Not filterable:* localizedNames
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listRegionsByCountry

        public FetchResult<IsoRegionModel> listRegionsByCountry​(java.lang.String country,
                                                                java.lang.String filter,
                                                                java.lang.Integer top,
                                                                java.lang.Integer skip,
                                                                java.lang.String orderBy)
                                                         throws java.lang.Exception
        List all ISO 3166 regions for a country Returns a list of all ISO 3166 region codes for a specific country code, and their US English friendly names. This API is intended to be useful when presenting a dropdown box in your website to allow customers to select a region
        Parameters:
        country - The country of which you want to fetch ISO 3166 regions
        filter - 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/).
        *Not filterable:* localizedNames
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listRegionsByCountryAsync

        public java.util.concurrent.Future<FetchResult<IsoRegionModel>> listRegionsByCountryAsync​(java.lang.String country,
                                                                                                  java.lang.String filter,
                                                                                                  java.lang.Integer top,
                                                                                                  java.lang.Integer skip,
                                                                                                  java.lang.String orderBy)
        List all ISO 3166 regions for a country Returns a list of all ISO 3166 region codes for a specific country code, and their US English friendly names. This API is intended to be useful when presenting a dropdown box in your website to allow customers to select a region
        Parameters:
        country - The country of which you want to fetch ISO 3166 regions
        filter - 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/).
        *Not filterable:* localizedNames
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listResourceFileTypes

        public FetchResult<ResourceFileTypeModel> listResourceFileTypes​(java.lang.String filter,
                                                                        java.lang.Integer top,
                                                                        java.lang.Integer skip,
                                                                        java.lang.String orderBy)
                                                                 throws java.lang.Exception
        Retrieve the full list of Avalara-supported resource file types Returns the full list of Avalara-supported resource file types
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listResourceFileTypesAsync

        public java.util.concurrent.Future<FetchResult<ResourceFileTypeModel>> listResourceFileTypesAsync​(java.lang.String filter,
                                                                                                          java.lang.Integer top,
                                                                                                          java.lang.Integer skip,
                                                                                                          java.lang.String orderBy)
        Retrieve the full list of Avalara-supported resource file types Returns the full list of Avalara-supported resource file types
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listSecurityRoles

        public FetchResult<SecurityRoleModel> listSecurityRoles​(java.lang.String filter,
                                                                java.lang.Integer top,
                                                                java.lang.Integer skip,
                                                                java.lang.String orderBy)
                                                         throws java.lang.Exception
        Retrieve the full list of Avalara-supported permissions Returns the full list of Avalara-supported permission types. This API is intended to be useful when designing a user interface for selecting the security role of a user account.
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listSecurityRolesAsync

        public java.util.concurrent.Future<FetchResult<SecurityRoleModel>> listSecurityRolesAsync​(java.lang.String filter,
                                                                                                  java.lang.Integer top,
                                                                                                  java.lang.Integer skip,
                                                                                                  java.lang.String orderBy)
        Retrieve the full list of Avalara-supported permissions Returns the full list of Avalara-supported permission types. This API is intended to be useful when designing a user interface for selecting the security role of a user account.
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listSubscriptionTypes

        public FetchResult<SubscriptionTypeModel> listSubscriptionTypes​(java.lang.String filter,
                                                                        java.lang.Integer top,
                                                                        java.lang.Integer skip,
                                                                        java.lang.String orderBy)
                                                                 throws java.lang.Exception
        Retrieve the full list of Avalara-supported subscription types Returns the full list of Avalara-supported subscription types. This API is intended to be useful for identifying which features you have added to your account. You may always contact Avalara's sales department for information on available products or services.
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listSubscriptionTypesAsync

        public java.util.concurrent.Future<FetchResult<SubscriptionTypeModel>> listSubscriptionTypesAsync​(java.lang.String filter,
                                                                                                          java.lang.Integer top,
                                                                                                          java.lang.Integer skip,
                                                                                                          java.lang.String orderBy)
        Retrieve the full list of Avalara-supported subscription types Returns the full list of Avalara-supported subscription types. This API is intended to be useful for identifying which features you have added to your account. You may always contact Avalara's sales department for information on available products or services.
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listTaxAuthorities

        public FetchResult<TaxAuthorityModel> listTaxAuthorities​(java.lang.String filter,
                                                                 java.lang.Integer top,
                                                                 java.lang.Integer skip,
                                                                 java.lang.String orderBy)
                                                          throws java.lang.Exception
        Retrieve the full list of Avalara-supported tax authorities. Returns the full list of Avalara-supported tax authorities.
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listTaxAuthoritiesAsync

        public java.util.concurrent.Future<FetchResult<TaxAuthorityModel>> listTaxAuthoritiesAsync​(java.lang.String filter,
                                                                                                   java.lang.Integer top,
                                                                                                   java.lang.Integer skip,
                                                                                                   java.lang.String orderBy)
        Retrieve the full list of Avalara-supported tax authorities. Returns the full list of Avalara-supported tax authorities.
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listTaxAuthorityForms

        public FetchResult<TaxAuthorityFormModel> listTaxAuthorityForms​(java.lang.String filter,
                                                                        java.lang.Integer top,
                                                                        java.lang.Integer skip,
                                                                        java.lang.String orderBy)
                                                                 throws java.lang.Exception
        Retrieve the full list of Avalara-supported forms for each tax authority. Returns the full list of Avalara-supported forms for each tax authority. This list represents tax forms that Avalara recognizes. Customers who subscribe to Avalara Managed Returns Service can request these forms to be filed automatically
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listTaxAuthorityFormsAsync

        public java.util.concurrent.Future<FetchResult<TaxAuthorityFormModel>> listTaxAuthorityFormsAsync​(java.lang.String filter,
                                                                                                          java.lang.Integer top,
                                                                                                          java.lang.Integer skip,
                                                                                                          java.lang.String orderBy)
        Retrieve the full list of Avalara-supported forms for each tax authority. Returns the full list of Avalara-supported forms for each tax authority. This list represents tax forms that Avalara recognizes. Customers who subscribe to Avalara Managed Returns Service can request these forms to be filed automatically
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listTaxAuthorityTypes

        public FetchResult<TaxAuthorityTypeModel> listTaxAuthorityTypes​(java.lang.String filter,
                                                                        java.lang.Integer top,
                                                                        java.lang.Integer skip,
                                                                        java.lang.String orderBy)
                                                                 throws java.lang.Exception
        Retrieve the full list of Avalara-supported tax authority types. Returns the full list of Avalara-supported tax authority types.
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listTaxAuthorityTypesAsync

        public java.util.concurrent.Future<FetchResult<TaxAuthorityTypeModel>> listTaxAuthorityTypesAsync​(java.lang.String filter,
                                                                                                          java.lang.Integer top,
                                                                                                          java.lang.Integer skip,
                                                                                                          java.lang.String orderBy)
        Retrieve the full list of Avalara-supported tax authority types. Returns the full list of Avalara-supported tax authority types.
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listTaxCodes

        public FetchResult<TaxCodeModel> listTaxCodes​(java.lang.String filter,
                                                      java.lang.Integer top,
                                                      java.lang.Integer skip,
                                                      java.lang.String orderBy)
                                               throws java.lang.Exception
        Retrieve the full list of Avalara-supported tax codes. Retrieves the list of Avalara-supported system tax codes. A 'TaxCode' represents a uniquely identified type of product, good, or service. Avalara supports correct tax rates and taxability rules for all TaxCodes in all supported jurisdictions. If you identify your products by tax code in your 'Create Transacion' API calls, Avalara will correctly calculate tax rates and taxability rules for this product in all supported jurisdictions. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listTaxCodesAsync

        public java.util.concurrent.Future<FetchResult<TaxCodeModel>> listTaxCodesAsync​(java.lang.String filter,
                                                                                        java.lang.Integer top,
                                                                                        java.lang.Integer skip,
                                                                                        java.lang.String orderBy)
        Retrieve the full list of Avalara-supported tax codes. Retrieves the list of Avalara-supported system tax codes. A 'TaxCode' represents a uniquely identified type of product, good, or service. Avalara supports correct tax rates and taxability rules for all TaxCodes in all supported jurisdictions. If you identify your products by tax code in your 'Create Transacion' API calls, Avalara will correctly calculate tax rates and taxability rules for this product in all supported jurisdictions. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listTaxCodeTypes

        public TaxCodeTypesModel listTaxCodeTypes​(java.lang.Integer top,
                                                  java.lang.Integer skip)
                                           throws java.lang.Exception
        Retrieve the full list of Avalara-supported tax code types. Returns the full list of recognized tax code types. A 'Tax Code Type' represents a broad category of tax codes, and is less detailed than a single TaxCode.
        Parameters:
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        Returns:
        TaxCodeTypesModel
        Throws:
        java.lang.Exception
      • listTaxCodeTypesAsync

        public java.util.concurrent.Future<TaxCodeTypesModel> listTaxCodeTypesAsync​(java.lang.Integer top,
                                                                                    java.lang.Integer skip)
        Retrieve the full list of Avalara-supported tax code types. Returns the full list of recognized tax code types. A 'Tax Code Type' represents a broad category of tax codes, and is less detailed than a single TaxCode.
        Parameters:
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        Returns:
        TaxCodeTypesModel
      • listTaxForms

        public FetchResult<FormMasterModel> listTaxForms​(java.lang.String filter,
                                                         java.lang.Integer top,
                                                         java.lang.Integer skip,
                                                         java.lang.String orderBy)
                                                  throws java.lang.Exception
        Retrieve the full list of the Tax Forms available Returns the full list of Avalara-supported Tax Forms
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listTaxFormsAsync

        public java.util.concurrent.Future<FetchResult<FormMasterModel>> listTaxFormsAsync​(java.lang.String filter,
                                                                                           java.lang.Integer top,
                                                                                           java.lang.Integer skip,
                                                                                           java.lang.String orderBy)
        Retrieve the full list of the Tax Forms available Returns the full list of Avalara-supported Tax Forms
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listTaxSubTypes

        public FetchResult<TaxSubTypeModel> listTaxSubTypes​(java.lang.String filter,
                                                            java.lang.Integer top,
                                                            java.lang.Integer skip,
                                                            java.lang.String orderBy)
                                                     throws java.lang.Exception
        Retrieve the full list of tax sub types Returns the full list of Avalara-supported tax sub-types
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listTaxSubTypesAsync

        public java.util.concurrent.Future<FetchResult<TaxSubTypeModel>> listTaxSubTypesAsync​(java.lang.String filter,
                                                                                              java.lang.Integer top,
                                                                                              java.lang.Integer skip,
                                                                                              java.lang.String orderBy)
        Retrieve the full list of tax sub types Returns the full list of Avalara-supported tax sub-types
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listTaxTypeGroups

        public FetchResult<TaxTypeGroupModel> listTaxTypeGroups​(java.lang.String filter,
                                                                java.lang.Integer top,
                                                                java.lang.Integer skip,
                                                                java.lang.String orderBy)
                                                         throws java.lang.Exception
        Retrieve the full list of tax type groups Returns the full list of Avalara-supported tax type groups
        Parameters:
        filter - 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/).
        *Not filterable:* subscriptionTypeId, subscriptionDescription, tabName, showColumn, displaySequence
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listTaxTypeGroupsAsync

        public java.util.concurrent.Future<FetchResult<TaxTypeGroupModel>> listTaxTypeGroupsAsync​(java.lang.String filter,
                                                                                                  java.lang.Integer top,
                                                                                                  java.lang.Integer skip,
                                                                                                  java.lang.String orderBy)
        Retrieve the full list of tax type groups Returns the full list of Avalara-supported tax type groups
        Parameters:
        filter - 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/).
        *Not filterable:* subscriptionTypeId, subscriptionDescription, tabName, showColumn, displaySequence
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listUnitOfMeasurement

        public FetchResult<UomModel> listUnitOfMeasurement​(java.lang.String filter,
                                                           java.lang.Integer top,
                                                           java.lang.Integer skip,
                                                           java.lang.String orderBy)
                                                    throws java.lang.Exception
        List all defined units of measurement List all units of measurement systems defined by Avalara.
        Parameters:
        filter - 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/).
        *Not filterable:* id
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listUnitOfMeasurementAsync

        public java.util.concurrent.Future<FetchResult<UomModel>> listUnitOfMeasurementAsync​(java.lang.String filter,
                                                                                             java.lang.Integer top,
                                                                                             java.lang.Integer skip,
                                                                                             java.lang.String orderBy)
        List all defined units of measurement List all units of measurement systems defined by Avalara.
        Parameters:
        filter - 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/).
        *Not filterable:* id
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • createDistanceThreshold

        public java.util.ArrayList<CompanyDistanceThresholdModel> createDistanceThreshold​(java.lang.Integer companyId,
                                                                                          java.util.ArrayList<CompanyDistanceThresholdModel> model)
                                                                                   throws java.lang.Exception
        Create one or more DistanceThreshold objects Create one or more DistanceThreshold objects for this company. A company-distance-threshold model indicates the distance between a company and the taxing borders of various countries. Distance thresholds are necessary to correctly calculate some value-added taxes. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The unique ID number of the company that owns this DistanceThreshold
        model - The DistanceThreshold object or objects you wish to create.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createDistanceThresholdAsync

        public java.util.concurrent.Future<java.util.ArrayList<CompanyDistanceThresholdModel>> createDistanceThresholdAsync​(java.lang.Integer companyId,
                                                                                                                            java.util.ArrayList<CompanyDistanceThresholdModel> model)
        Create one or more DistanceThreshold objects Create one or more DistanceThreshold objects for this company. A company-distance-threshold model indicates the distance between a company and the taxing borders of various countries. Distance thresholds are necessary to correctly calculate some value-added taxes. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The unique ID number of the company that owns this DistanceThreshold
        model - The DistanceThreshold object or objects you wish to create.
        Returns:
        ArrayList
      • deleteDistanceThreshold

        public java.util.ArrayList<ErrorDetail> deleteDistanceThreshold​(java.lang.Integer companyId,
                                                                        java.lang.Long id)
                                                                 throws java.lang.Exception
        Delete a single DistanceThreshold object Marks the DistanceThreshold object identified by this URL as deleted. A company-distance-threshold model indicates the distance between a company and the taxing borders of various countries. Distance thresholds are necessary to correctly calculate some value-added taxes. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The unique ID number of the company that owns this DistanceThreshold
        id - The unique ID number of the DistanceThreshold object you wish to delete.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteDistanceThresholdAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteDistanceThresholdAsync​(java.lang.Integer companyId,
                                                                                                          java.lang.Long id)
        Delete a single DistanceThreshold object Marks the DistanceThreshold object identified by this URL as deleted. A company-distance-threshold model indicates the distance between a company and the taxing borders of various countries. Distance thresholds are necessary to correctly calculate some value-added taxes. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The unique ID number of the company that owns this DistanceThreshold
        id - The unique ID number of the DistanceThreshold object you wish to delete.
        Returns:
        ArrayList
      • getDistanceThreshold

        public CompanyDistanceThresholdModel getDistanceThreshold​(java.lang.Integer companyId,
                                                                  java.lang.Long id)
                                                           throws java.lang.Exception
        Retrieve a single DistanceThreshold Retrieves a single DistanceThreshold object defined by this URL. A company-distance-threshold model indicates the distance between a company and the taxing borders of various countries. Distance thresholds are necessary to correctly calculate some value-added taxes. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        companyId - The ID of the company that owns this DistanceThreshold object
        id - The unique ID number referring to this DistanceThreshold object
        Returns:
        CompanyDistanceThresholdModel
        Throws:
        java.lang.Exception
      • getDistanceThresholdAsync

        public java.util.concurrent.Future<CompanyDistanceThresholdModel> getDistanceThresholdAsync​(java.lang.Integer companyId,
                                                                                                    java.lang.Long id)
        Retrieve a single DistanceThreshold Retrieves a single DistanceThreshold object defined by this URL. A company-distance-threshold model indicates the distance between a company and the taxing borders of various countries. Distance thresholds are necessary to correctly calculate some value-added taxes. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        companyId - The ID of the company that owns this DistanceThreshold object
        id - The unique ID number referring to this DistanceThreshold object
        Returns:
        CompanyDistanceThresholdModel
      • listDistanceThresholds

        public FetchResult<CompanyDistanceThresholdModel> listDistanceThresholds​(java.lang.Integer companyId,
                                                                                 java.lang.String filter,
                                                                                 java.lang.String include,
                                                                                 java.lang.Integer top,
                                                                                 java.lang.Integer skip,
                                                                                 java.lang.String orderBy)
                                                                          throws java.lang.Exception
        Retrieve all DistanceThresholds for this company. Lists all DistanceThreshold objects that belong to this company. A company-distance-threshold model indicates the distance between a company and the taxing borders of various countries. Distance thresholds are necessary to correctly calculate some value-added taxes. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        companyId - The ID of the company whose DistanceThreshold objects you wish to list.
        filter - 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/).
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listDistanceThresholdsAsync

        public java.util.concurrent.Future<FetchResult<CompanyDistanceThresholdModel>> listDistanceThresholdsAsync​(java.lang.Integer companyId,
                                                                                                                   java.lang.String filter,
                                                                                                                   java.lang.String include,
                                                                                                                   java.lang.Integer top,
                                                                                                                   java.lang.Integer skip,
                                                                                                                   java.lang.String orderBy)
        Retrieve all DistanceThresholds for this company. Lists all DistanceThreshold objects that belong to this company. A company-distance-threshold model indicates the distance between a company and the taxing borders of various countries. Distance thresholds are necessary to correctly calculate some value-added taxes. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        companyId - The ID of the company whose DistanceThreshold objects you wish to list.
        filter - 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/).
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • queryDistanceThresholds

        public FetchResult<CompanyDistanceThresholdModel> queryDistanceThresholds​(java.lang.String filter,
                                                                                  java.lang.String include,
                                                                                  java.lang.Integer top,
                                                                                  java.lang.Integer skip,
                                                                                  java.lang.String orderBy)
                                                                           throws java.lang.Exception
        Retrieve all DistanceThreshold objects Lists all DistanceThreshold objects that belong to this account. A company-distance-threshold model indicates the distance between a company and the taxing borders of various countries. Distance thresholds are necessary to correctly calculate some value-added taxes. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        filter - 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/).
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • queryDistanceThresholdsAsync

        public java.util.concurrent.Future<FetchResult<CompanyDistanceThresholdModel>> queryDistanceThresholdsAsync​(java.lang.String filter,
                                                                                                                    java.lang.String include,
                                                                                                                    java.lang.Integer top,
                                                                                                                    java.lang.Integer skip,
                                                                                                                    java.lang.String orderBy)
        Retrieve all DistanceThreshold objects Lists all DistanceThreshold objects that belong to this account. A company-distance-threshold model indicates the distance between a company and the taxing borders of various countries. Distance thresholds are necessary to correctly calculate some value-added taxes. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        filter - 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/).
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • updateDistanceThreshold

        public CompanyDistanceThresholdModel updateDistanceThreshold​(java.lang.Integer companyId,
                                                                     java.lang.Long id,
                                                                     CompanyDistanceThresholdModel model)
                                                              throws java.lang.Exception
        Update a DistanceThreshold object Replace the existing DistanceThreshold object at this URL with an updated object. A company-distance-threshold model indicates the distance between a company and the taxing borders of various countries. Distance thresholds are necessary to correctly calculate some value-added taxes. All data from the existing object will be replaced with data in the object you PUT. 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. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The unique ID number of the company that owns this DistanceThreshold object.
        id - The unique ID number of the DistanceThreshold object to replace.
        model - The new DistanceThreshold object to store.
        Returns:
        CompanyDistanceThresholdModel
        Throws:
        java.lang.Exception
      • updateDistanceThresholdAsync

        public java.util.concurrent.Future<CompanyDistanceThresholdModel> updateDistanceThresholdAsync​(java.lang.Integer companyId,
                                                                                                       java.lang.Long id,
                                                                                                       CompanyDistanceThresholdModel model)
        Update a DistanceThreshold object Replace the existing DistanceThreshold object at this URL with an updated object. A company-distance-threshold model indicates the distance between a company and the taxing borders of various countries. Distance thresholds are necessary to correctly calculate some value-added taxes. All data from the existing object will be replaced with data in the object you PUT. 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. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The unique ID number of the company that owns this DistanceThreshold object.
        id - The unique ID number of the DistanceThreshold object to replace.
        model - The new DistanceThreshold object to store.
        Returns:
        CompanyDistanceThresholdModel
      • createECommerceToken

        public ECommerceTokenOutputModel createECommerceToken​(java.lang.Integer companyId,
                                                              CreateECommerceTokenInputModel model)
                                                       throws java.lang.Exception
        Create a new eCommerce token. Creates a new eCommerce token. This API is used to create a new eCommerce token. An eCommerce token is required in order to launch the CertCapture eCommerce plugin. Create a token for each of your CertCapture customers. ### Security Policies * 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.
        Parameters:
        companyId - The company ID that will be issued this certificate.
        model -
        Returns:
        ECommerceTokenOutputModel
        Throws:
        java.lang.Exception
      • createECommerceTokenAsync

        public java.util.concurrent.Future<ECommerceTokenOutputModel> createECommerceTokenAsync​(java.lang.Integer companyId,
                                                                                                CreateECommerceTokenInputModel model)
        Create a new eCommerce token. Creates a new eCommerce token. This API is used to create a new eCommerce token. An eCommerce token is required in order to launch the CertCapture eCommerce plugin. Create a token for each of your CertCapture customers. ### Security Policies * 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.
        Parameters:
        companyId - The company ID that will be issued this certificate.
        model -
        Returns:
        ECommerceTokenOutputModel
      • refreshECommerceToken

        public FetchResult<ECommerceTokenOutputModel> refreshECommerceToken​(java.lang.Integer companyId,
                                                                            RefreshECommerceTokenInputModel model)
                                                                     throws java.lang.Exception
        Refresh an eCommerce token. Refresh an eCommerce token. CertCapture eCommerce tokens expire after one hour. This API is used to refresh an eCommerce token that is about to expire. This API can only be used with active tokens. If your token has expired, you must generate a new one. ### Security Policies * 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.
        Parameters:
        companyId - The company ID that the refreshed certificate belongs to.
        model -
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • refreshECommerceTokenAsync

        public java.util.concurrent.Future<FetchResult<ECommerceTokenOutputModel>> refreshECommerceTokenAsync​(java.lang.Integer companyId,
                                                                                                              RefreshECommerceTokenInputModel model)
        Refresh an eCommerce token. Refresh an eCommerce token. CertCapture eCommerce tokens expire after one hour. This API is used to refresh an eCommerce token that is about to expire. This API can only be used with active tokens. If your token has expired, you must generate a new one. ### Security Policies * 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.
        Parameters:
        companyId - The company ID that the refreshed certificate belongs to.
        model -
        Returns:
        FetchResult
      • cycleSafeOptions

        public CycleSafeOptionResultModel cycleSafeOptions​(java.lang.Integer companyId,
                                                           CycleSafeEditRequestModel model)
                                                    throws java.lang.Exception
        Add or Edit options Returns a list of options for adding tax forms for the company and tax form code specified. Returns edit options when modifying a filing calendar. This API is available by invitation only. ### Security Policies * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        companyId - The unique ID of the company that owns the filing calendar object
        model - Cycle Safe Options Request
        Returns:
        CycleSafeOptionResultModel
        Throws:
        java.lang.Exception
      • cycleSafeOptionsAsync

        public java.util.concurrent.Future<CycleSafeOptionResultModel> cycleSafeOptionsAsync​(java.lang.Integer companyId,
                                                                                             CycleSafeEditRequestModel model)
        Add or Edit options Returns a list of options for adding tax forms for the company and tax form code specified. Returns edit options when modifying a filing calendar. This API is available by invitation only. ### Security Policies * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        companyId - The unique ID of the company that owns the filing calendar object
        model - Cycle Safe Options Request
        Returns:
        CycleSafeOptionResultModel
      • deleteCompanyReturnSettings

        public java.util.ArrayList<CompanyReturnSettingModel> deleteCompanyReturnSettings​(java.lang.Integer companyId,
                                                                                          java.lang.Integer filingCalendarId,
                                                                                          java.lang.Long companyReturnSettingId)
                                                                                   throws java.lang.Exception
        Delete a company return setting This API is available by invitation only and only available for users with Compliance access ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        companyId - The unique ID of the company
        filingCalendarId - The unique ID of the filing calendar that will remove setting
        companyReturnSettingId - The unique ID of the company return setting that will be deleted from the filing calendar
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteCompanyReturnSettingsAsync

        public java.util.concurrent.Future<java.util.ArrayList<CompanyReturnSettingModel>> deleteCompanyReturnSettingsAsync​(java.lang.Integer companyId,
                                                                                                                            java.lang.Integer filingCalendarId,
                                                                                                                            java.lang.Long companyReturnSettingId)
        Delete a company return setting This API is available by invitation only and only available for users with Compliance access ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        companyId - The unique ID of the company
        filingCalendarId - The unique ID of the filing calendar that will remove setting
        companyReturnSettingId - The unique ID of the company return setting that will be deleted from the filing calendar
        Returns:
        ArrayList
      • getAccrualFilings

        public FetchResult<MultiTaxFilingModel> getAccrualFilings​(java.lang.Integer companyId,
                                                                  java.lang.Long filingReturnId)
                                                           throws java.lang.Exception
        Retrieve a filing containing the return and all its accrual returns. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        companyId - The ID of the company that owns these returns
        filingReturnId - The ID of the filing return
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • getAccrualFilingsAsync

        public java.util.concurrent.Future<FetchResult<MultiTaxFilingModel>> getAccrualFilingsAsync​(java.lang.Integer companyId,
                                                                                                    java.lang.Long filingReturnId)
        Retrieve a filing containing the return and all its accrual returns. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        companyId - The ID of the company that owns these returns
        filingReturnId - The ID of the filing return
        Returns:
        FetchResult
      • getFiledReturns

        public FetchResult<FiledReturnModel> getFiledReturns​(java.lang.Integer companyId,
                                                             java.lang.Integer endPeriodMonth,
                                                             java.lang.Integer endPeriodYear,
                                                             FilingFrequencyId frequency,
                                                             FilingStatusId status,
                                                             java.lang.String country,
                                                             java.lang.String region,
                                                             java.lang.Long filingCalendarId,
                                                             java.lang.String taxformCode)
                                                      throws java.lang.Exception
        Retrieve a list of filed returns for the specified company in the year and month of a given filing period. ### Security Policies * 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. * This API is available by invitation only.*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser, CompanyUser, AccountUser, CompanyAdmin, AccountAdmin. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        companyId - The ID of the company that owns these batches
        endPeriodMonth - The month of the period you are trying to retrieve
        endPeriodYear - The year of the period you are trying to retrieve
        frequency - The frequency of the return you are trying to retrieve (See FilingFrequencyId::* for a list of allowable values)
        status - The status of the return(s) you are trying to retrieve (See FilingStatusId::* for a list of allowable values)
        country - The country of the return(s) you are trying to retrieve
        region - The region of the return(s) you are trying to retrieve
        filingCalendarId - The filing calendar id of the return you are trying to retrieve
        taxformCode - The unique tax form code of the form.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • getFiledReturnsAsync

        public java.util.concurrent.Future<FetchResult<FiledReturnModel>> getFiledReturnsAsync​(java.lang.Integer companyId,
                                                                                               java.lang.Integer endPeriodMonth,
                                                                                               java.lang.Integer endPeriodYear,
                                                                                               FilingFrequencyId frequency,
                                                                                               FilingStatusId status,
                                                                                               java.lang.String country,
                                                                                               java.lang.String region,
                                                                                               java.lang.Long filingCalendarId,
                                                                                               java.lang.String taxformCode)
        Retrieve a list of filed returns for the specified company in the year and month of a given filing period. ### Security Policies * 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. * This API is available by invitation only.*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser, CompanyUser, AccountUser, CompanyAdmin, AccountAdmin. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        companyId - The ID of the company that owns these batches
        endPeriodMonth - The month of the period you are trying to retrieve
        endPeriodYear - The year of the period you are trying to retrieve
        frequency - The frequency of the return you are trying to retrieve (See FilingFrequencyId::* for a list of allowable values)
        status - The status of the return(s) you are trying to retrieve (See FilingStatusId::* for a list of allowable values)
        country - The country of the return(s) you are trying to retrieve
        region - The region of the return(s) you are trying to retrieve
        filingCalendarId - The filing calendar id of the return you are trying to retrieve
        taxformCode - The unique tax form code of the form.
        Returns:
        FetchResult
      • approveFirmClientLinkage

        public FirmClientLinkageOutputModel approveFirmClientLinkage​(java.lang.Integer id)
                                                              throws java.lang.Exception
        Approves linkage to a firm for a client account This API enables the account admin of a client account to approve linkage request by a firm. ### Security Policies * This API requires one of the following user roles: AccountAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        id -
        Returns:
        FirmClientLinkageOutputModel
        Throws:
        java.lang.Exception
      • approveFirmClientLinkageAsync

        public java.util.concurrent.Future<FirmClientLinkageOutputModel> approveFirmClientLinkageAsync​(java.lang.Integer id)
        Approves linkage to a firm for a client account This API enables the account admin of a client account to approve linkage request by a firm. ### Security Policies * This API requires one of the following user roles: AccountAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        id -
        Returns:
        FirmClientLinkageOutputModel
      • createAndLinkNewFirmClientAccount

        public FirmClientLinkageOutputModel createAndLinkNewFirmClientAccount​(NewFirmClientAccountRequestModel model)
                                                                       throws java.lang.Exception
        Request a new FirmClient account and create an approved linkage to it This API is for use by Firms only. Avalara allows firms to manage returns for clients without the clients needing to use AvaTax service. Firms can create accounts of FirmClient for customers they are managing using this API. Calling this API creates an account with the specified product subscriptions, but without a new user for account. Account is then linked to the Firm so they can managed their returns. You should call this API when a customer does not have an AvaTax account and is to be managed only by the firm. The created account will be created in `Active` status but there will be no user or license key associated with account. ### Security Policies * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SystemAdmin.
        Parameters:
        model - Information about the account you wish to create.
        Returns:
        FirmClientLinkageOutputModel
        Throws:
        java.lang.Exception
      • createAndLinkNewFirmClientAccountAsync

        public java.util.concurrent.Future<FirmClientLinkageOutputModel> createAndLinkNewFirmClientAccountAsync​(NewFirmClientAccountRequestModel model)
        Request a new FirmClient account and create an approved linkage to it This API is for use by Firms only. Avalara allows firms to manage returns for clients without the clients needing to use AvaTax service. Firms can create accounts of FirmClient for customers they are managing using this API. Calling this API creates an account with the specified product subscriptions, but without a new user for account. Account is then linked to the Firm so they can managed their returns. You should call this API when a customer does not have an AvaTax account and is to be managed only by the firm. The created account will be created in `Active` status but there will be no user or license key associated with account. ### Security Policies * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SystemAdmin.
        Parameters:
        model - Information about the account you wish to create.
        Returns:
        FirmClientLinkageOutputModel
      • createFirmClientLinkage

        public FirmClientLinkageOutputModel createFirmClientLinkage​(FirmClientLinkageInputModel model)
                                                             throws java.lang.Exception
        Links a firm account with the client account This API enables the firm admins/firm users to request the linkage of a firm account and a client account. ### Security Policies * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        model - FirmClientLinkageInputModel
        Returns:
        FirmClientLinkageOutputModel
        Throws:
        java.lang.Exception
      • createFirmClientLinkageAsync

        public java.util.concurrent.Future<FirmClientLinkageOutputModel> createFirmClientLinkageAsync​(FirmClientLinkageInputModel model)
        Links a firm account with the client account This API enables the firm admins/firm users to request the linkage of a firm account and a client account. ### Security Policies * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        model - FirmClientLinkageInputModel
        Returns:
        FirmClientLinkageOutputModel
      • deleteFirmClientLinkage

        public java.util.ArrayList<ErrorDetail> deleteFirmClientLinkage​(java.lang.Integer id)
                                                                 throws java.lang.Exception
        Delete a linkage This API marks a linkage between a firm and client as deleted. ### Security Policies * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        id -
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteFirmClientLinkageAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteFirmClientLinkageAsync​(java.lang.Integer id)
        Delete a linkage This API marks a linkage between a firm and client as deleted. ### Security Policies * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        id -
        Returns:
        ArrayList
      • getFirmClientLinkage

        public FirmClientLinkageOutputModel getFirmClientLinkage​(java.lang.Integer id)
                                                          throws java.lang.Exception
        Get linkage between a firm and client by id This API enables the firm admins/firm users to request the linkage of a firm account and a client account. ### Security Policies * 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.
        Parameters:
        id -
        Returns:
        FirmClientLinkageOutputModel
        Throws:
        java.lang.Exception
      • getFirmClientLinkageAsync

        public java.util.concurrent.Future<FirmClientLinkageOutputModel> getFirmClientLinkageAsync​(java.lang.Integer id)
        Get linkage between a firm and client by id This API enables the firm admins/firm users to request the linkage of a firm account and a client account. ### Security Policies * 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.
        Parameters:
        id -
        Returns:
        FirmClientLinkageOutputModel
      • listFirmClientLinkage

        public FetchResult<FirmClientLinkageOutputModel> listFirmClientLinkage​(java.lang.String filter)
                                                                        throws java.lang.Exception
        List client linkages for a firm or client This API enables the firm or account users to request the associated linkages to the account. ### Security Policies * 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.
        Parameters:
        filter - 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/).
        *Not filterable:* firmAccountName, clientAccountName
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listFirmClientLinkageAsync

        public java.util.concurrent.Future<FetchResult<FirmClientLinkageOutputModel>> listFirmClientLinkageAsync​(java.lang.String filter)
        List client linkages for a firm or client This API enables the firm or account users to request the associated linkages to the account. ### Security Policies * 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.
        Parameters:
        filter - 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/).
        *Not filterable:* firmAccountName, clientAccountName
        Returns:
        FetchResult
      • rejectFirmClientLinkage

        public FirmClientLinkageOutputModel rejectFirmClientLinkage​(java.lang.Integer id)
                                                             throws java.lang.Exception
        Rejects linkage to a firm for a client account This API enables the account admin of a client account to reject linkage request by a firm. ### Security Policies * This API requires one of the following user roles: AccountAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        id -
        Returns:
        FirmClientLinkageOutputModel
        Throws:
        java.lang.Exception
      • rejectFirmClientLinkageAsync

        public java.util.concurrent.Future<FirmClientLinkageOutputModel> rejectFirmClientLinkageAsync​(java.lang.Integer id)
        Rejects linkage to a firm for a client account This API enables the account admin of a client account to reject linkage request by a firm. ### Security Policies * This API requires one of the following user roles: AccountAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        id -
        Returns:
        FirmClientLinkageOutputModel
      • resetFirmClientLinkage

        public FirmClientLinkageOutputModel resetFirmClientLinkage​(java.lang.Integer id)
                                                            throws java.lang.Exception
        Reset linkage status between a client and firm back to requested This API enables the firm admin of a client account to reset a previously created linkage request by a firm. ### Security Policies * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        id -
        Returns:
        FirmClientLinkageOutputModel
        Throws:
        java.lang.Exception
      • resetFirmClientLinkageAsync

        public java.util.concurrent.Future<FirmClientLinkageOutputModel> resetFirmClientLinkageAsync​(java.lang.Integer id)
        Reset linkage status between a client and firm back to requested This API enables the firm admin of a client account to reset a previously created linkage request by a firm. ### Security Policies * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        id -
        Returns:
        FirmClientLinkageOutputModel
      • revokeFirmClientLinkage

        public FirmClientLinkageOutputModel revokeFirmClientLinkage​(java.lang.Integer id)
                                                             throws java.lang.Exception
        Revokes previously approved linkage to a firm for a client account This API enables the account admin of a client account to revoke a previously approved linkage request by a firm. ### Security Policies * This API requires one of the following user roles: AccountAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        id -
        Returns:
        FirmClientLinkageOutputModel
        Throws:
        java.lang.Exception
      • revokeFirmClientLinkageAsync

        public java.util.concurrent.Future<FirmClientLinkageOutputModel> revokeFirmClientLinkageAsync​(java.lang.Integer id)
        Revokes previously approved linkage to a firm for a client account This API enables the account admin of a client account to revoke a previously approved linkage request by a firm. ### Security Policies * This API requires one of the following user roles: AccountAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        id -
        Returns:
        FirmClientLinkageOutputModel
      • requestFreeTrial

        public NewAccountModel requestFreeTrial​(FreeTrialRequestModel model)
                                         throws java.lang.Exception
        FREE API - Request a free trial of AvaTax Call this API to obtain a free AvaTax account. This API is free to use. No authentication credentials are required to call this API. You must read and accept [Avalara's terms and conditions](https://www1.avalara.com/us/en/legal/terms.html) for the account to be created. If all conditions are met, this API will grant a free trial version of AvaTax. For a list of functionality available in the free trial and its limitations, please see the [AvaTax Developer Website Free Trial page](https://developer.avalara.com/avatax/signup/). After your free trial concludes, you will still be able to use the [Free AvaTax API Suite](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Free/). ### Security Policies * This API may be called without providing authentication credentials.
        Parameters:
        model - Required information to provision a free trial account.
        Returns:
        NewAccountModel
        Throws:
        java.lang.Exception
      • requestFreeTrialAsync

        public java.util.concurrent.Future<NewAccountModel> requestFreeTrialAsync​(FreeTrialRequestModel model)
        FREE API - Request a free trial of AvaTax Call this API to obtain a free AvaTax account. This API is free to use. No authentication credentials are required to call this API. You must read and accept [Avalara's terms and conditions](https://www1.avalara.com/us/en/legal/terms.html) for the account to be created. If all conditions are met, this API will grant a free trial version of AvaTax. For a list of functionality available in the free trial and its limitations, please see the [AvaTax Developer Website Free Trial page](https://developer.avalara.com/avatax/signup/). After your free trial concludes, you will still be able to use the [Free AvaTax API Suite](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Free/). ### Security Policies * This API may be called without providing authentication credentials.
        Parameters:
        model - Required information to provision a free trial account.
        Returns:
        NewAccountModel
      • activateFundingRequest

        public FundingStatusModel activateFundingRequest​(java.lang.Long id)
                                                  throws java.lang.Exception
        Request the javascript for a funding setup widget This API is available by invitation only. Companies that use the Avalara Managed Returns or the SST Certified Service Provider services are required to setup their funding configuration before Avalara can begin filing tax returns on their behalf. Funding configuration for each company is set up by submitting a funding setup request, which can be sent either via email or via an embedded HTML widget. When the funding configuration is submitted to Avalara, it will be reviewed by treasury team members before approval. This API returns back the actual javascript code to insert into your application to render the JavaScript funding setup widget inline. Use the 'methodReturn.javaScript' return value to insert this widget into your HTML page. This API requires a subscription to Avalara Managed Returns or SST Certified Service Provider. ### Security Policies * 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. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        id - The unique ID number of this funding request
        Returns:
        FundingStatusModel
        Throws:
        java.lang.Exception
      • activateFundingRequestAsync

        public java.util.concurrent.Future<FundingStatusModel> activateFundingRequestAsync​(java.lang.Long id)
        Request the javascript for a funding setup widget This API is available by invitation only. Companies that use the Avalara Managed Returns or the SST Certified Service Provider services are required to setup their funding configuration before Avalara can begin filing tax returns on their behalf. Funding configuration for each company is set up by submitting a funding setup request, which can be sent either via email or via an embedded HTML widget. When the funding configuration is submitted to Avalara, it will be reviewed by treasury team members before approval. This API returns back the actual javascript code to insert into your application to render the JavaScript funding setup widget inline. Use the 'methodReturn.javaScript' return value to insert this widget into your HTML page. This API requires a subscription to Avalara Managed Returns or SST Certified Service Provider. ### Security Policies * 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. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        id - The unique ID number of this funding request
        Returns:
        FundingStatusModel
      • fundingRequestStatus

        public FundingStatusModel fundingRequestStatus​(java.lang.Integer id)
                                                throws java.lang.Exception
        Retrieve status about a funding setup request This API is available by invitation only. Companies that use the Avalara Managed Returns or the SST Certified Service Provider services are required to setup their funding configuration before Avalara can begin filing tax returns on their behalf. Funding configuration for each company is set up by submitting a funding setup request, which can be sent either via email or via an embedded HTML widget. When the funding configuration is submitted to Avalara, it will be reviewed by treasury team members before approval. This API checks the status on an existing funding request. This API requires a subscription to Avalara Managed Returns or SST Certified Service Provider. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        id - The unique ID number of this funding request
        Returns:
        FundingStatusModel
        Throws:
        java.lang.Exception
      • fundingRequestStatusAsync

        public java.util.concurrent.Future<FundingStatusModel> fundingRequestStatusAsync​(java.lang.Integer id)
        Retrieve status about a funding setup request This API is available by invitation only. Companies that use the Avalara Managed Returns or the SST Certified Service Provider services are required to setup their funding configuration before Avalara can begin filing tax returns on their behalf. Funding configuration for each company is set up by submitting a funding setup request, which can be sent either via email or via an embedded HTML widget. When the funding configuration is submitted to Avalara, it will be reviewed by treasury team members before approval. This API checks the status on an existing funding request. This API requires a subscription to Avalara Managed Returns or SST Certified Service Provider. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        id - The unique ID number of this funding request
        Returns:
        FundingStatusModel
      • batchDeleteItemClassifications

        public java.util.ArrayList<ErrorDetail> batchDeleteItemClassifications​(java.lang.Integer companyId,
                                                                               java.lang.Long itemId)
                                                                        throws java.lang.Exception
        Delete all classifications for an item Delete all the classifications for a given item. A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product. When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this item.
        itemId - The ID of the item you wish to delete the classifications.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • batchDeleteItemClassificationsAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> batchDeleteItemClassificationsAsync​(java.lang.Integer companyId,
                                                                                                                 java.lang.Long itemId)
        Delete all classifications for an item Delete all the classifications for a given item. A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product. When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this item.
        itemId - The ID of the item you wish to delete the classifications.
        Returns:
        ArrayList
      • batchDeleteItemParameters

        public java.util.ArrayList<ErrorDetail> batchDeleteItemParameters​(java.lang.Integer companyId,
                                                                          java.lang.Long itemId)
                                                                   throws java.lang.Exception
        Delete all parameters for an item Delete all the parameters for a given item. Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item . A parameter specified on a transaction line will override an item parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this item.
        itemId - The ID of the item you wish to delete the parameters.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • batchDeleteItemParametersAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> batchDeleteItemParametersAsync​(java.lang.Integer companyId,
                                                                                                            java.lang.Long itemId)
        Delete all parameters for an item Delete all the parameters for a given item. Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item . A parameter specified on a transaction line will override an item parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this item.
        itemId - The ID of the item you wish to delete the parameters.
        Returns:
        ArrayList
      • createItemClassifications

        public java.util.ArrayList<ItemClassificationOutputModel> createItemClassifications​(java.lang.Integer companyId,
                                                                                            java.lang.Long itemId,
                                                                                            java.util.ArrayList<ItemClassificationInputModel> model)
                                                                                     throws java.lang.Exception
        Add classifications to an item. Add classifications to an item. A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product. When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate. An item may only have one classification per tax system. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The company id.
        itemId - The item id.
        model - The item classifications you wish to create.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createItemClassificationsAsync

        public java.util.concurrent.Future<java.util.ArrayList<ItemClassificationOutputModel>> createItemClassificationsAsync​(java.lang.Integer companyId,
                                                                                                                              java.lang.Long itemId,
                                                                                                                              java.util.ArrayList<ItemClassificationInputModel> model)
        Add classifications to an item. Add classifications to an item. A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product. When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate. An item may only have one classification per tax system. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The company id.
        itemId - The item id.
        model - The item classifications you wish to create.
        Returns:
        ArrayList
      • createItemParameters

        public java.util.ArrayList<ItemParameterModel> createItemParameters​(java.lang.Integer companyId,
                                                                            java.lang.Long itemId,
                                                                            java.util.ArrayList<ItemParameterModel> model)
                                                                     throws java.lang.Exception
        Add parameters to an item. Add parameters to an item. Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item . A parameter specified on a transaction line will override an item parameter if they share the same parameter name. To see available parameters for this item, call `/api/v2/definitions/parameters?$filter=attributeType eq Product` Some parameters are only available for use if you have subscribed to specific AvaTax services. To see which parameters you are able to use, add the query parameter "$showSubscribed=true" to the parameter definition call above. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this item parameter.
        itemId - The item id.
        model - The item parameters you wish to create.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createItemParametersAsync

        public java.util.concurrent.Future<java.util.ArrayList<ItemParameterModel>> createItemParametersAsync​(java.lang.Integer companyId,
                                                                                                              java.lang.Long itemId,
                                                                                                              java.util.ArrayList<ItemParameterModel> model)
        Add parameters to an item. Add parameters to an item. Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item . A parameter specified on a transaction line will override an item parameter if they share the same parameter name. To see available parameters for this item, call `/api/v2/definitions/parameters?$filter=attributeType eq Product` Some parameters are only available for use if you have subscribed to specific AvaTax services. To see which parameters you are able to use, add the query parameter "$showSubscribed=true" to the parameter definition call above. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this item parameter.
        itemId - The item id.
        model - The item parameters you wish to create.
        Returns:
        ArrayList
      • createItems

        public java.util.ArrayList<ItemModel> createItems​(java.lang.Integer companyId,
                                                          java.util.ArrayList<ItemModel> model)
                                                   throws java.lang.Exception
        Create a new item Creates one or more new item objects attached to this company. Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions, and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance team can manage your item catalog and adjust the tax behavior of items without having to modify your software. The tax code takes precedence over the tax code id if both are provided. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this item.
        model - The item you wish to create.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createItemsAsync

        public java.util.concurrent.Future<java.util.ArrayList<ItemModel>> createItemsAsync​(java.lang.Integer companyId,
                                                                                            java.util.ArrayList<ItemModel> model)
        Create a new item Creates one or more new item objects attached to this company. Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions, and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance team can manage your item catalog and adjust the tax behavior of items without having to modify your software. The tax code takes precedence over the tax code id if both are provided. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this item.
        model - The item you wish to create.
        Returns:
        ArrayList
      • deleteItem

        public java.util.ArrayList<ErrorDetail> deleteItem​(java.lang.Integer companyId,
                                                           java.lang.Long id)
                                                    throws java.lang.Exception
        Delete a single item Deletes the item object at this URL. Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions, and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance team can manage your item catalog and adjust the tax behavior of items without having to modify your software. Deleting an item will also delete the parameters and classifications associated with that item. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this item.
        id - The ID of the item you wish to delete.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteItemAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteItemAsync​(java.lang.Integer companyId,
                                                                                             java.lang.Long id)
        Delete a single item Deletes the item object at this URL. Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions, and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance team can manage your item catalog and adjust the tax behavior of items without having to modify your software. Deleting an item will also delete the parameters and classifications associated with that item. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this item.
        id - The ID of the item you wish to delete.
        Returns:
        ArrayList
      • deleteItemClassification

        public java.util.ArrayList<ErrorDetail> deleteItemClassification​(java.lang.Integer companyId,
                                                                         java.lang.Long itemId,
                                                                         java.lang.Long id)
                                                                  throws java.lang.Exception
        Delete a single item classification. Delete a single item classification. A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product. When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The company id.
        itemId - The item id.
        id - The item classification id.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteItemClassificationAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteItemClassificationAsync​(java.lang.Integer companyId,
                                                                                                           java.lang.Long itemId,
                                                                                                           java.lang.Long id)
        Delete a single item classification. Delete a single item classification. A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product. When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The company id.
        itemId - The item id.
        id - The item classification id.
        Returns:
        ArrayList
      • deleteItemParameter

        public java.util.ArrayList<ErrorDetail> deleteItemParameter​(java.lang.Integer companyId,
                                                                    java.lang.Long itemId,
                                                                    java.lang.Long id)
                                                             throws java.lang.Exception
        Delete a single item parameter Delete a single item parameter. Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item . A parameter specified on a transaction line will override an item parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The company id
        itemId - The item id
        id - The parameter id
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteItemParameterAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteItemParameterAsync​(java.lang.Integer companyId,
                                                                                                      java.lang.Long itemId,
                                                                                                      java.lang.Long id)
        Delete a single item parameter Delete a single item parameter. Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item . A parameter specified on a transaction line will override an item parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The company id
        itemId - The item id
        id - The parameter id
        Returns:
        ArrayList
      • getItem

        public ItemModel getItem​(java.lang.Integer companyId,
                                 java.lang.Long id,
                                 java.lang.String include)
                          throws java.lang.Exception
        Retrieve a single item Get the `Item` object identified by this URL. Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions, and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance team can manage your item catalog and adjust the tax behavior of items without having to modify your software. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns this item object
        id - The primary key of this item
        include - A comma separated list of additional data to retrieve.
        Returns:
        ItemModel
        Throws:
        java.lang.Exception
      • getItemAsync

        public java.util.concurrent.Future<ItemModel> getItemAsync​(java.lang.Integer companyId,
                                                                   java.lang.Long id,
                                                                   java.lang.String include)
        Retrieve a single item Get the `Item` object identified by this URL. Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions, and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance team can manage your item catalog and adjust the tax behavior of items without having to modify your software. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns this item object
        id - The primary key of this item
        include - A comma separated list of additional data to retrieve.
        Returns:
        ItemModel
      • getItemClassification

        public ItemClassificationOutputModel getItemClassification​(java.lang.Integer companyId,
                                                                   java.lang.Long itemId,
                                                                   java.lang.Long id)
                                                            throws java.lang.Exception
        Retrieve a single item classification. Retrieve a single item classification. A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product. When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The company id.
        itemId - The item id.
        id - The item classification id.
        Returns:
        ItemClassificationOutputModel
        Throws:
        java.lang.Exception
      • getItemClassificationAsync

        public java.util.concurrent.Future<ItemClassificationOutputModel> getItemClassificationAsync​(java.lang.Integer companyId,
                                                                                                     java.lang.Long itemId,
                                                                                                     java.lang.Long id)
        Retrieve a single item classification. Retrieve a single item classification. A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product. When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The company id.
        itemId - The item id.
        id - The item classification id.
        Returns:
        ItemClassificationOutputModel
      • getItemParameter

        public ItemParameterModel getItemParameter​(java.lang.Integer companyId,
                                                   java.lang.Long itemId,
                                                   java.lang.Long id)
                                            throws java.lang.Exception
        Retrieve a single item parameter Retrieve a single item parameter. Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item . A parameter specified on a transaction line will override an item parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The company id
        itemId - The item id
        id - The parameter id
        Returns:
        ItemParameterModel
        Throws:
        java.lang.Exception
      • getItemParameterAsync

        public java.util.concurrent.Future<ItemParameterModel> getItemParameterAsync​(java.lang.Integer companyId,
                                                                                     java.lang.Long itemId,
                                                                                     java.lang.Long id)
        Retrieve a single item parameter Retrieve a single item parameter. Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item . A parameter specified on a transaction line will override an item parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The company id
        itemId - The item id
        id - The parameter id
        Returns:
        ItemParameterModel
      • listItemClassifications

        public FetchResult<ItemClassificationOutputModel> listItemClassifications​(java.lang.Integer companyId,
                                                                                  java.lang.Long itemId,
                                                                                  java.lang.String filter,
                                                                                  java.lang.Integer top,
                                                                                  java.lang.Integer skip,
                                                                                  java.lang.String orderBy)
                                                                           throws java.lang.Exception
        Retrieve classifications for an item. List classifications for an item. A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product. When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate. Search for specific objects using the criteria in the `$filter` classification; full documentation is available on [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/) . Paginate your results using the `$top`, `$skip`, and `$orderby` classifications. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The company id.
        itemId - The item id.
        filter - 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/).
        *Not filterable:* productCode, systemCode
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listItemClassificationsAsync

        public java.util.concurrent.Future<FetchResult<ItemClassificationOutputModel>> listItemClassificationsAsync​(java.lang.Integer companyId,
                                                                                                                    java.lang.Long itemId,
                                                                                                                    java.lang.String filter,
                                                                                                                    java.lang.Integer top,
                                                                                                                    java.lang.Integer skip,
                                                                                                                    java.lang.String orderBy)
        Retrieve classifications for an item. List classifications for an item. A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product. When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate. Search for specific objects using the criteria in the `$filter` classification; full documentation is available on [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/) . Paginate your results using the `$top`, `$skip`, and `$orderby` classifications. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The company id.
        itemId - The item id.
        filter - 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/).
        *Not filterable:* productCode, systemCode
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listItemParameters

        public FetchResult<ItemParameterModel> listItemParameters​(java.lang.Integer companyId,
                                                                  java.lang.Long itemId,
                                                                  java.lang.String filter,
                                                                  java.lang.Integer top,
                                                                  java.lang.Integer skip,
                                                                  java.lang.String orderBy)
                                                           throws java.lang.Exception
        Retrieve parameters for an item List parameters for an item. Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item . A parameter specified on a transaction line will override an item parameter if they share the same parameter name. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The company id
        itemId - The item id
        filter - 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/).
        *Not filterable:* name, unit
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listItemParametersAsync

        public java.util.concurrent.Future<FetchResult<ItemParameterModel>> listItemParametersAsync​(java.lang.Integer companyId,
                                                                                                    java.lang.Long itemId,
                                                                                                    java.lang.String filter,
                                                                                                    java.lang.Integer top,
                                                                                                    java.lang.Integer skip,
                                                                                                    java.lang.String orderBy)
        Retrieve parameters for an item List parameters for an item. Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item . A parameter specified on a transaction line will override an item parameter if they share the same parameter name. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The company id
        itemId - The item id
        filter - 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/).
        *Not filterable:* name, unit
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listItemsByCompany

        public FetchResult<ItemModel> listItemsByCompany​(java.lang.Integer companyId,
                                                         java.lang.String filter,
                                                         java.lang.String include,
                                                         java.lang.Integer top,
                                                         java.lang.Integer skip,
                                                         java.lang.String orderBy)
                                                  throws java.lang.Exception
        Retrieve items for this company List all items defined for the current company. Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions, and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance team can manage your item catalog and adjust the tax behavior of items without having to modify your software. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. 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: * Parameters * Classifications ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that defined these items
        filter - 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/).
        *Not filterable:* taxCode, classifications, parameters
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listItemsByCompanyAsync

        public java.util.concurrent.Future<FetchResult<ItemModel>> listItemsByCompanyAsync​(java.lang.Integer companyId,
                                                                                           java.lang.String filter,
                                                                                           java.lang.String include,
                                                                                           java.lang.Integer top,
                                                                                           java.lang.Integer skip,
                                                                                           java.lang.String orderBy)
        Retrieve items for this company List all items defined for the current company. Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions, and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance team can manage your item catalog and adjust the tax behavior of items without having to modify your software. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. 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: * Parameters * Classifications ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that defined these items
        filter - 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/).
        *Not filterable:* taxCode, classifications, parameters
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • queryItems

        public FetchResult<ItemModel> queryItems​(java.lang.String filter,
                                                 java.lang.String include,
                                                 java.lang.Integer top,
                                                 java.lang.Integer skip,
                                                 java.lang.String orderBy)
                                          throws java.lang.Exception
        Retrieve all items Get multiple item objects across all companies. Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions, and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance team can manage your item catalog and adjust the tax behavior of items without having to modify your software. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        filter - 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/).
        *Not filterable:* taxCode, classifications, parameters
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • queryItemsAsync

        public java.util.concurrent.Future<FetchResult<ItemModel>> queryItemsAsync​(java.lang.String filter,
                                                                                   java.lang.String include,
                                                                                   java.lang.Integer top,
                                                                                   java.lang.Integer skip,
                                                                                   java.lang.String orderBy)
        Retrieve all items Get multiple item objects across all companies. Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions, and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance team can manage your item catalog and adjust the tax behavior of items without having to modify your software. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        filter - 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/).
        *Not filterable:* taxCode, classifications, parameters
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • syncItems

        public SyncItemsResponseModel syncItems​(java.lang.Integer companyId,
                                                SyncItemsRequestModel model)
                                         throws java.lang.Exception
        Sync items from a product catalog Syncs a list of items with AvaTax without waiting for them to be created. It is ideal for syncing large product catalogs with AvaTax. Any invalid or duplicate items will be ignored. To diagnose why an item is not created, use the normal create transaction API to receive validation information. This API is currently limited to 1000 items per call (the limit is subject to change). Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions, and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance team can manage your item catalog and adjust the tax behavior of items without having to modify your software. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this item.
        model - The request object.
        Returns:
        SyncItemsResponseModel
        Throws:
        java.lang.Exception
      • syncItemsAsync

        public java.util.concurrent.Future<SyncItemsResponseModel> syncItemsAsync​(java.lang.Integer companyId,
                                                                                  SyncItemsRequestModel model)
        Sync items from a product catalog Syncs a list of items with AvaTax without waiting for them to be created. It is ideal for syncing large product catalogs with AvaTax. Any invalid or duplicate items will be ignored. To diagnose why an item is not created, use the normal create transaction API to receive validation information. This API is currently limited to 1000 items per call (the limit is subject to change). Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions, and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance team can manage your item catalog and adjust the tax behavior of items without having to modify your software. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this item.
        model - The request object.
        Returns:
        SyncItemsResponseModel
      • updateItem

        public ItemModel updateItem​(java.lang.Integer companyId,
                                    java.lang.Long id,
                                    ItemModel model)
                             throws java.lang.Exception
        Update a single item Replace the existing `Item` object at this URL with an updated object. Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions, and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance team can manage your item catalog and adjust the tax behavior of items without having to modify your software. All data from the existing object will be replaced with data in the object you PUT. 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. The tax code takes precedence over the tax code id if both are provided. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that this item belongs to.
        id - The ID of the item you wish to update
        model - The item object you wish to update.
        Returns:
        ItemModel
        Throws:
        java.lang.Exception
      • updateItemAsync

        public java.util.concurrent.Future<ItemModel> updateItemAsync​(java.lang.Integer companyId,
                                                                      java.lang.Long id,
                                                                      ItemModel model)
        Update a single item Replace the existing `Item` object at this URL with an updated object. Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions, and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance team can manage your item catalog and adjust the tax behavior of items without having to modify your software. All data from the existing object will be replaced with data in the object you PUT. 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. The tax code takes precedence over the tax code id if both are provided. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that this item belongs to.
        id - The ID of the item you wish to update
        model - The item object you wish to update.
        Returns:
        ItemModel
      • updateItemClassification

        public ItemClassificationOutputModel updateItemClassification​(java.lang.Integer companyId,
                                                                      java.lang.Long itemId,
                                                                      java.lang.Long id,
                                                                      ItemClassificationInputModel model)
                                                               throws java.lang.Exception
        Update an item classification. Update an item classification. A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product. When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate. An item may only have one classification per tax system. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The company id.
        itemId - The item id.
        id - The item classification id.
        model - The item object you wish to update.
        Returns:
        ItemClassificationOutputModel
        Throws:
        java.lang.Exception
      • updateItemClassificationAsync

        public java.util.concurrent.Future<ItemClassificationOutputModel> updateItemClassificationAsync​(java.lang.Integer companyId,
                                                                                                        java.lang.Long itemId,
                                                                                                        java.lang.Long id,
                                                                                                        ItemClassificationInputModel model)
        Update an item classification. Update an item classification. A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product. When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate. An item may only have one classification per tax system. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The company id.
        itemId - The item id.
        id - The item classification id.
        model - The item object you wish to update.
        Returns:
        ItemClassificationOutputModel
      • updateItemParameter

        public ItemParameterModel updateItemParameter​(java.lang.Integer companyId,
                                                      java.lang.Long itemId,
                                                      java.lang.Long id,
                                                      ItemParameterModel model)
                                               throws java.lang.Exception
        Update an item parameter Update an item parameter. Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item . A parameter specified on a transaction line will override an item parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The company id.
        itemId - The item id
        id - The item parameter id
        model - The item object you wish to update.
        Returns:
        ItemParameterModel
        Throws:
        java.lang.Exception
      • updateItemParameterAsync

        public java.util.concurrent.Future<ItemParameterModel> updateItemParameterAsync​(java.lang.Integer companyId,
                                                                                        java.lang.Long itemId,
                                                                                        java.lang.Long id,
                                                                                        ItemParameterModel model)
        Update an item parameter Update an item parameter. Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item . A parameter specified on a transaction line will override an item parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The company id.
        itemId - The item id
        id - The item parameter id
        model - The item object you wish to update.
        Returns:
        ItemParameterModel
      • createJurisdictionOverrides

        public java.util.ArrayList<JurisdictionOverrideModel> createJurisdictionOverrides​(java.lang.Integer accountId,
                                                                                          java.util.ArrayList<JurisdictionOverrideModel> model)
                                                                                   throws java.lang.Exception
        Create one or more overrides Creates one or more jurisdiction override objects for this account. A Jurisdiction Override is a configuration setting that allows you to select the taxing jurisdiction for a specific address. If you encounter an address that is on the boundary between two different jurisdictions, you can choose to set up a jurisdiction override to switch this address to use different taxing jurisdictions. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        accountId - The ID of the account that owns this override
        model - The jurisdiction override objects to create
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createJurisdictionOverridesAsync

        public java.util.concurrent.Future<java.util.ArrayList<JurisdictionOverrideModel>> createJurisdictionOverridesAsync​(java.lang.Integer accountId,
                                                                                                                            java.util.ArrayList<JurisdictionOverrideModel> model)
        Create one or more overrides Creates one or more jurisdiction override objects for this account. A Jurisdiction Override is a configuration setting that allows you to select the taxing jurisdiction for a specific address. If you encounter an address that is on the boundary between two different jurisdictions, you can choose to set up a jurisdiction override to switch this address to use different taxing jurisdictions. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        accountId - The ID of the account that owns this override
        model - The jurisdiction override objects to create
        Returns:
        ArrayList
      • deleteJurisdictionOverride

        public java.util.ArrayList<ErrorDetail> deleteJurisdictionOverride​(java.lang.Integer accountId,
                                                                           java.lang.Integer id)
                                                                    throws java.lang.Exception
        Delete a single override Marks the item object at this URL as deleted. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        accountId - The ID of the account that owns this override
        id - The ID of the override you wish to delete
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteJurisdictionOverrideAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteJurisdictionOverrideAsync​(java.lang.Integer accountId,
                                                                                                             java.lang.Integer id)
        Delete a single override Marks the item object at this URL as deleted. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        accountId - The ID of the account that owns this override
        id - The ID of the override you wish to delete
        Returns:
        ArrayList
      • getJurisdictionOverride

        public JurisdictionOverrideModel getJurisdictionOverride​(java.lang.Integer accountId,
                                                                 java.lang.Integer id)
                                                          throws java.lang.Exception
        Retrieve a single override Get the item object identified by this URL. A Jurisdiction Override is a configuration setting that allows you to select the taxing jurisdiction for a specific address. If you encounter an address that is on the boundary between two different jurisdictions, you can choose to set up a jurisdiction override to switch this address to use different taxing jurisdictions. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        accountId - The ID of the account that owns this override
        id - The primary key of this override
        Returns:
        JurisdictionOverrideModel
        Throws:
        java.lang.Exception
      • getJurisdictionOverrideAsync

        public java.util.concurrent.Future<JurisdictionOverrideModel> getJurisdictionOverrideAsync​(java.lang.Integer accountId,
                                                                                                   java.lang.Integer id)
        Retrieve a single override Get the item object identified by this URL. A Jurisdiction Override is a configuration setting that allows you to select the taxing jurisdiction for a specific address. If you encounter an address that is on the boundary between two different jurisdictions, you can choose to set up a jurisdiction override to switch this address to use different taxing jurisdictions. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        accountId - The ID of the account that owns this override
        id - The primary key of this override
        Returns:
        JurisdictionOverrideModel
      • listJurisdictionOverridesByAccount

        public FetchResult<JurisdictionOverrideModel> listJurisdictionOverridesByAccount​(java.lang.Integer accountId,
                                                                                         java.lang.String filter,
                                                                                         java.lang.String include,
                                                                                         java.lang.Integer top,
                                                                                         java.lang.Integer skip,
                                                                                         java.lang.String orderBy)
                                                                                  throws java.lang.Exception
        Retrieve overrides for this account List all jurisdiction override objects defined for this account. A Jurisdiction Override is a configuration setting that allows you to select the taxing jurisdiction for a specific address. If you encounter an address that is on the boundary between two different jurisdictions, you can choose to set up a jurisdiction override to switch this address to use different taxing jurisdictions. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        accountId - The ID of the account that owns this override
        filter - 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/).
        *Not filterable:* country, Jurisdictions
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listJurisdictionOverridesByAccountAsync

        public java.util.concurrent.Future<FetchResult<JurisdictionOverrideModel>> listJurisdictionOverridesByAccountAsync​(java.lang.Integer accountId,
                                                                                                                           java.lang.String filter,
                                                                                                                           java.lang.String include,
                                                                                                                           java.lang.Integer top,
                                                                                                                           java.lang.Integer skip,
                                                                                                                           java.lang.String orderBy)
        Retrieve overrides for this account List all jurisdiction override objects defined for this account. A Jurisdiction Override is a configuration setting that allows you to select the taxing jurisdiction for a specific address. If you encounter an address that is on the boundary between two different jurisdictions, you can choose to set up a jurisdiction override to switch this address to use different taxing jurisdictions. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        accountId - The ID of the account that owns this override
        filter - 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/).
        *Not filterable:* country, Jurisdictions
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • queryJurisdictionOverrides

        public FetchResult<JurisdictionOverrideModel> queryJurisdictionOverrides​(java.lang.String filter,
                                                                                 java.lang.String include,
                                                                                 java.lang.Integer top,
                                                                                 java.lang.Integer skip,
                                                                                 java.lang.String orderBy)
                                                                          throws java.lang.Exception
        Retrieve all overrides Get multiple jurisdiction override objects across all companies. A Jurisdiction Override is a configuration setting that allows you to select the taxing jurisdiction for a specific address. If you encounter an address that is on the boundary between two different jurisdictions, you can choose to set up a jurisdiction override to switch this address to use different taxing jurisdictions. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        filter - 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/).
        *Not filterable:* country, Jurisdictions
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • queryJurisdictionOverridesAsync

        public java.util.concurrent.Future<FetchResult<JurisdictionOverrideModel>> queryJurisdictionOverridesAsync​(java.lang.String filter,
                                                                                                                   java.lang.String include,
                                                                                                                   java.lang.Integer top,
                                                                                                                   java.lang.Integer skip,
                                                                                                                   java.lang.String orderBy)
        Retrieve all overrides Get multiple jurisdiction override objects across all companies. A Jurisdiction Override is a configuration setting that allows you to select the taxing jurisdiction for a specific address. If you encounter an address that is on the boundary between two different jurisdictions, you can choose to set up a jurisdiction override to switch this address to use different taxing jurisdictions. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        filter - 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/).
        *Not filterable:* country, Jurisdictions
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • updateJurisdictionOverride

        public JurisdictionOverrideModel updateJurisdictionOverride​(java.lang.Integer accountId,
                                                                    java.lang.Integer id,
                                                                    JurisdictionOverrideModel model)
                                                             throws java.lang.Exception
        Update a single jurisdictionoverride Replace the existing jurisdictionoverride object at this URL with an updated object. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        accountId - The ID of the account that this jurisdictionoverride belongs to.
        id - The ID of the jurisdictionoverride you wish to update
        model - The jurisdictionoverride object you wish to update.
        Returns:
        JurisdictionOverrideModel
        Throws:
        java.lang.Exception
      • updateJurisdictionOverrideAsync

        public java.util.concurrent.Future<JurisdictionOverrideModel> updateJurisdictionOverrideAsync​(java.lang.Integer accountId,
                                                                                                      java.lang.Integer id,
                                                                                                      JurisdictionOverrideModel model)
        Update a single jurisdictionoverride Replace the existing jurisdictionoverride object at this URL with an updated object. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        accountId - The ID of the account that this jurisdictionoverride belongs to.
        id - The ID of the jurisdictionoverride you wish to update
        model - The jurisdictionoverride object you wish to update.
        Returns:
        JurisdictionOverrideModel
      • createLocationParameters

        public java.util.ArrayList<LocationParameterModel> createLocationParameters​(java.lang.Integer companyId,
                                                                                    java.lang.Integer locationId,
                                                                                    java.util.ArrayList<LocationParameterModel> model)
                                                                             throws java.lang.Exception
        Add parameters to a location. Add parameters to a location. Some locations can be taxed differently depending on the properties of that location. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to a location will be used by default in tax calculation but will not show on the transaction line referencing the location. A parameter specified on a transaction line will override a location parameter if they share the same parameter name. To see available parameters for this location, call `/api/v2/definitions/parameters?$filter=attributeType eq Company` Some parameters are only available for use if you have subscribed to specific AvaTax services. To see which parameters you are able to use, add the query parameter "$showSubscribed=true" to the parameter definition call above. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPAdmin, CSPTester, FirmAdmin, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this location parameter.
        locationId - The location id.
        model - The location parameters you wish to create.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createLocationParametersAsync

        public java.util.concurrent.Future<java.util.ArrayList<LocationParameterModel>> createLocationParametersAsync​(java.lang.Integer companyId,
                                                                                                                      java.lang.Integer locationId,
                                                                                                                      java.util.ArrayList<LocationParameterModel> model)
        Add parameters to a location. Add parameters to a location. Some locations can be taxed differently depending on the properties of that location. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to a location will be used by default in tax calculation but will not show on the transaction line referencing the location. A parameter specified on a transaction line will override a location parameter if they share the same parameter name. To see available parameters for this location, call `/api/v2/definitions/parameters?$filter=attributeType eq Company` Some parameters are only available for use if you have subscribed to specific AvaTax services. To see which parameters you are able to use, add the query parameter "$showSubscribed=true" to the parameter definition call above. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPAdmin, CSPTester, FirmAdmin, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this location parameter.
        locationId - The location id.
        model - The location parameters you wish to create.
        Returns:
        ArrayList
      • createLocations

        public java.util.ArrayList<LocationModel> createLocations​(java.lang.Integer companyId,
                                                                  java.util.ArrayList<LocationModel> model)
                                                           throws java.lang.Exception
        Create a new location Create one or more new location objects attached to this company. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPAdmin, CSPTester, FirmAdmin, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this location.
        model - The location you wish to create.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createLocationsAsync

        public java.util.concurrent.Future<java.util.ArrayList<LocationModel>> createLocationsAsync​(java.lang.Integer companyId,
                                                                                                    java.util.ArrayList<LocationModel> model)
        Create a new location Create one or more new location objects attached to this company. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPAdmin, CSPTester, FirmAdmin, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this location.
        model - The location you wish to create.
        Returns:
        ArrayList
      • deleteLocation

        public java.util.ArrayList<ErrorDetail> deleteLocation​(java.lang.Integer companyId,
                                                               java.lang.Integer id)
                                                        throws java.lang.Exception
        Delete a single location Mark the location object at this URL as deleted. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPAdmin, CSPTester, FirmAdmin, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this location.
        id - The ID of the location you wish to delete.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteLocationAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteLocationAsync​(java.lang.Integer companyId,
                                                                                                 java.lang.Integer id)
        Delete a single location Mark the location object at this URL as deleted. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPAdmin, CSPTester, FirmAdmin, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this location.
        id - The ID of the location you wish to delete.
        Returns:
        ArrayList
      • deleteLocationParameter

        public java.util.ArrayList<ErrorDetail> deleteLocationParameter​(java.lang.Integer companyId,
                                                                        java.lang.Integer locationId,
                                                                        java.lang.Long id)
                                                                 throws java.lang.Exception
        Delete a single location parameter Delete a single location parameter. Some locations can be taxed differently depending on the properties of that location. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to a location will be used by default in tax calculation but will not show on the transaction line referencing the location. A parameter specified on a transaction line will override a location parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPAdmin, CSPTester, FirmAdmin, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The company id
        locationId - The location id
        id - The parameter id
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteLocationParameterAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteLocationParameterAsync​(java.lang.Integer companyId,
                                                                                                          java.lang.Integer locationId,
                                                                                                          java.lang.Long id)
        Delete a single location parameter Delete a single location parameter. Some locations can be taxed differently depending on the properties of that location. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to a location will be used by default in tax calculation but will not show on the transaction line referencing the location. A parameter specified on a transaction line will override a location parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPAdmin, CSPTester, FirmAdmin, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The company id
        locationId - The location id
        id - The parameter id
        Returns:
        ArrayList
      • getLocation

        public LocationModel getLocation​(java.lang.Integer companyId,
                                         java.lang.Integer id,
                                         java.lang.String include)
                                  throws java.lang.Exception
        Retrieve a single location Get the location object identified by this URL. An 'Location' represents a physical address where a company does business. Many taxing authorities require that you define a list of all locations where your company does business. These locations may require additional custom configuration or tax registration with these authorities. For more information on metadata requirements, see the '/api/v2/definitions/locationquestions' API. 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: * LocationSettings * parameters ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        companyId - The ID of the company that owns this location
        id - The primary key of this location
        include - A comma separated list of additional data to retrieve.
        Returns:
        LocationModel
        Throws:
        java.lang.Exception
      • getLocationAsync

        public java.util.concurrent.Future<LocationModel> getLocationAsync​(java.lang.Integer companyId,
                                                                           java.lang.Integer id,
                                                                           java.lang.String include)
        Retrieve a single location Get the location object identified by this URL. An 'Location' represents a physical address where a company does business. Many taxing authorities require that you define a list of all locations where your company does business. These locations may require additional custom configuration or tax registration with these authorities. For more information on metadata requirements, see the '/api/v2/definitions/locationquestions' API. 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: * LocationSettings * parameters ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        companyId - The ID of the company that owns this location
        id - The primary key of this location
        include - A comma separated list of additional data to retrieve.
        Returns:
        LocationModel
      • getLocationParameter

        public LocationParameterModel getLocationParameter​(java.lang.Integer companyId,
                                                           java.lang.Integer locationId,
                                                           java.lang.Long id)
                                                    throws java.lang.Exception
        Retrieve a single company location parameter Retrieve a single location parameter. Some locations can be taxed differently depending on the properties of that location. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to a location will be used by default in tax calculation but will not show on the transaction line referencing the location. A parameter specified on a transaction line will override a location parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        companyId - The company id
        locationId - The location id
        id - The parameter id
        Returns:
        LocationParameterModel
        Throws:
        java.lang.Exception
      • getLocationParameterAsync

        public java.util.concurrent.Future<LocationParameterModel> getLocationParameterAsync​(java.lang.Integer companyId,
                                                                                             java.lang.Integer locationId,
                                                                                             java.lang.Long id)
        Retrieve a single company location parameter Retrieve a single location parameter. Some locations can be taxed differently depending on the properties of that location. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to a location will be used by default in tax calculation but will not show on the transaction line referencing the location. A parameter specified on a transaction line will override a location parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        companyId - The company id
        locationId - The location id
        id - The parameter id
        Returns:
        LocationParameterModel
      • listLocationParameters

        public FetchResult<LocationParameterModel> listLocationParameters​(java.lang.Integer companyId,
                                                                          java.lang.Integer locationId,
                                                                          java.lang.String filter,
                                                                          java.lang.Integer top,
                                                                          java.lang.Integer skip,
                                                                          java.lang.String orderBy)
                                                                   throws java.lang.Exception
        Retrieve parameters for a location List parameters for a location. Some locations can be taxed differently depending on the properties of that location. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to a location will be used by default in tax calculation but will not show on the transaction line referencing the location. A parameter specified on a transaction line will override a location parameter if they share the same parameter name. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        companyId - The company id
        locationId - The ID of the location
        filter - 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/).
        *Not filterable:* name, unit
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listLocationParametersAsync

        public java.util.concurrent.Future<FetchResult<LocationParameterModel>> listLocationParametersAsync​(java.lang.Integer companyId,
                                                                                                            java.lang.Integer locationId,
                                                                                                            java.lang.String filter,
                                                                                                            java.lang.Integer top,
                                                                                                            java.lang.Integer skip,
                                                                                                            java.lang.String orderBy)
        Retrieve parameters for a location List parameters for a location. Some locations can be taxed differently depending on the properties of that location. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to a location will be used by default in tax calculation but will not show on the transaction line referencing the location. A parameter specified on a transaction line will override a location parameter if they share the same parameter name. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        companyId - The company id
        locationId - The ID of the location
        filter - 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/).
        *Not filterable:* name, unit
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listLocationsByCompany

        public FetchResult<LocationModel> listLocationsByCompany​(java.lang.Integer companyId,
                                                                 java.lang.String filter,
                                                                 java.lang.String include,
                                                                 java.lang.Integer top,
                                                                 java.lang.Integer skip,
                                                                 java.lang.String orderBy)
                                                          throws java.lang.Exception
        Retrieve locations for this company List all location objects defined for this company. An 'Location' represents a physical address where a company does business. Many taxing authorities require that you define a list of all locations where your company does business. These locations may require additional custom configuration or tax registration with these authorities. For more information on metadata requirements, see the '/api/v2/definitions/locationquestions' API. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. 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: * LocationSettings * parameters ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        companyId - The ID of the company that owns these locations
        filter - 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/).
        *Not filterable:* isMarketplaceOutsideUsa, settings, parameters
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listLocationsByCompanyAsync

        public java.util.concurrent.Future<FetchResult<LocationModel>> listLocationsByCompanyAsync​(java.lang.Integer companyId,
                                                                                                   java.lang.String filter,
                                                                                                   java.lang.String include,
                                                                                                   java.lang.Integer top,
                                                                                                   java.lang.Integer skip,
                                                                                                   java.lang.String orderBy)
        Retrieve locations for this company List all location objects defined for this company. An 'Location' represents a physical address where a company does business. Many taxing authorities require that you define a list of all locations where your company does business. These locations may require additional custom configuration or tax registration with these authorities. For more information on metadata requirements, see the '/api/v2/definitions/locationquestions' API. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. 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: * LocationSettings * parameters ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        companyId - The ID of the company that owns these locations
        filter - 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/).
        *Not filterable:* isMarketplaceOutsideUsa, settings, parameters
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • queryLocations

        public FetchResult<LocationModel> queryLocations​(java.lang.String filter,
                                                         java.lang.String include,
                                                         java.lang.Integer top,
                                                         java.lang.Integer skip,
                                                         java.lang.String orderBy)
                                                  throws java.lang.Exception
        Retrieve all locations Get multiple location objects across all companies. An 'Location' represents a physical address where a company does business. Many taxing authorities require that you define a list of all locations where your company does business. These locations may require additional custom configuration or tax registration with these authorities. For more information on metadata requirements, see the '/api/v2/definitions/locationquestions' API. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. 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: * LocationSettings * parameters ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        filter - 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/).
        *Not filterable:* isMarketplaceOutsideUsa, settings, parameters
        include - A comma separated list of additional data to retrieve. You may specify `LocationSettings` to retrieve location settings.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • queryLocationsAsync

        public java.util.concurrent.Future<FetchResult<LocationModel>> queryLocationsAsync​(java.lang.String filter,
                                                                                           java.lang.String include,
                                                                                           java.lang.Integer top,
                                                                                           java.lang.Integer skip,
                                                                                           java.lang.String orderBy)
        Retrieve all locations Get multiple location objects across all companies. An 'Location' represents a physical address where a company does business. Many taxing authorities require that you define a list of all locations where your company does business. These locations may require additional custom configuration or tax registration with these authorities. For more information on metadata requirements, see the '/api/v2/definitions/locationquestions' API. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. 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: * LocationSettings * parameters ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        filter - 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/).
        *Not filterable:* isMarketplaceOutsideUsa, settings, parameters
        include - A comma separated list of additional data to retrieve. You may specify `LocationSettings` to retrieve location settings.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • updateLocation

        public LocationModel updateLocation​(java.lang.Integer companyId,
                                            java.lang.Integer id,
                                            LocationModel model)
                                     throws java.lang.Exception
        Update a single location Replace the existing location object at this URL with an updated object. All data from the existing object will be replaced with data in the object you PUT. 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. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPAdmin, CSPTester, FirmAdmin, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that this location belongs to.
        id - The ID of the location you wish to update
        model - The location you wish to update.
        Returns:
        LocationModel
        Throws:
        java.lang.Exception
      • updateLocationAsync

        public java.util.concurrent.Future<LocationModel> updateLocationAsync​(java.lang.Integer companyId,
                                                                              java.lang.Integer id,
                                                                              LocationModel model)
        Update a single location Replace the existing location object at this URL with an updated object. All data from the existing object will be replaced with data in the object you PUT. 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. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPAdmin, CSPTester, FirmAdmin, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that this location belongs to.
        id - The ID of the location you wish to update
        model - The location you wish to update.
        Returns:
        LocationModel
      • updateLocationParameter

        public LocationParameterModel updateLocationParameter​(java.lang.Integer companyId,
                                                              java.lang.Integer locationId,
                                                              java.lang.Long id,
                                                              LocationParameterModel model)
                                                       throws java.lang.Exception
        Update a location parameter Update a location parameter. Some locations can be taxed differently depending on the properties of that location. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to a location will be used by default in tax calculation but will not show on the transaction line referencing the location. A parameter specified on a transaction line will override a location parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPAdmin, CSPTester, FirmAdmin, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The company id.
        locationId - The location id
        id - The location parameter id
        model - The location parameter object you wish to update.
        Returns:
        LocationParameterModel
        Throws:
        java.lang.Exception
      • updateLocationParameterAsync

        public java.util.concurrent.Future<LocationParameterModel> updateLocationParameterAsync​(java.lang.Integer companyId,
                                                                                                java.lang.Integer locationId,
                                                                                                java.lang.Long id,
                                                                                                LocationParameterModel model)
        Update a location parameter Update a location parameter. Some locations can be taxed differently depending on the properties of that location. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to a location will be used by default in tax calculation but will not show on the transaction line referencing the location. A parameter specified on a transaction line will override a location parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPAdmin, CSPTester, FirmAdmin, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The company id.
        locationId - The location id
        id - The location parameter id
        model - The location parameter object you wish to update.
        Returns:
        LocationParameterModel
      • validateLocation

        public LocationValidationModel validateLocation​(java.lang.Integer companyId,
                                                        java.lang.Integer id)
                                                 throws java.lang.Exception
        Validate the location against local requirements Returns validation information for this location. This API call is intended to compare this location against the currently known taxing authority rules and regulations, and provide information about what additional work is required to completely setup this location. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        companyId - The ID of the company that owns this location
        id - The primary key of this location
        Returns:
        LocationValidationModel
        Throws:
        java.lang.Exception
      • validateLocationAsync

        public java.util.concurrent.Future<LocationValidationModel> validateLocationAsync​(java.lang.Integer companyId,
                                                                                          java.lang.Integer id)
        Validate the location against local requirements Returns validation information for this location. This API call is intended to compare this location against the currently known taxing authority rules and regulations, and provide information about what additional work is required to completely setup this location. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
        Parameters:
        companyId - The ID of the company that owns this location
        id - The primary key of this location
        Returns:
        LocationValidationModel
      • adjustMultiDocumentTransaction

        public MultiDocumentModel adjustMultiDocumentTransaction​(java.lang.String code,
                                                                 DocumentType type,
                                                                 java.lang.String include,
                                                                 AdjustMultiDocumentModel model)
                                                          throws java.lang.Exception
        Adjust a MultiDocument transaction Adjusts the current MultiDocument transaction uniquely identified by this URL. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). When you adjust a transaction, that transaction's status is recorded as `Adjusted`. Both the revisions will be available for retrieval based on their code and ID numbers. Only transactions in Committed status can be reported on a tax filing by Avalara's Managed Returns Service. Transactions that have been previously reported to a tax authority by Avalara Managed Returns are considered locked and are no longer available for adjustments. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        code - The transaction code for this MultiDocument transaction
        type - The transaction type for this MultiDocument transaction (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        model - The adjust request you wish to execute
        Returns:
        MultiDocumentModel
        Throws:
        java.lang.Exception
      • adjustMultiDocumentTransactionAsync

        public java.util.concurrent.Future<MultiDocumentModel> adjustMultiDocumentTransactionAsync​(java.lang.String code,
                                                                                                   DocumentType type,
                                                                                                   java.lang.String include,
                                                                                                   AdjustMultiDocumentModel model)
        Adjust a MultiDocument transaction Adjusts the current MultiDocument transaction uniquely identified by this URL. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). When you adjust a transaction, that transaction's status is recorded as `Adjusted`. Both the revisions will be available for retrieval based on their code and ID numbers. Only transactions in Committed status can be reported on a tax filing by Avalara's Managed Returns Service. Transactions that have been previously reported to a tax authority by Avalara Managed Returns are considered locked and are no longer available for adjustments. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        code - The transaction code for this MultiDocument transaction
        type - The transaction type for this MultiDocument transaction (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        model - The adjust request you wish to execute
        Returns:
        MultiDocumentModel
      • auditMultiDocumentTransaction

        public AuditMultiDocumentModel auditMultiDocumentTransaction​(java.lang.String code,
                                                                     DocumentType type)
                                                              throws java.lang.Exception
        Get audit information about a MultiDocument transaction Retrieve audit information about a MultiDocument transaction stored in AvaTax. The audit API retrieves audit information related to a specific MultiDocument transaction. This audit information includes the following: * The `code` of the MultiDocument transaction * The `type` of the MultiDocument transaction * The server timestamp representing the exact server time when the transaction was created * The server duration - how long it took to process this transaction * Whether exact API call details were logged * A reconstructed API call showing what the original create call looked like A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        code - The transaction code for this MultiDocument transaction
        type - The transaction type for this MultiDocument transaction (See DocumentType::* for a list of allowable values)
        Returns:
        AuditMultiDocumentModel
        Throws:
        java.lang.Exception
      • auditMultiDocumentTransactionAsync

        public java.util.concurrent.Future<AuditMultiDocumentModel> auditMultiDocumentTransactionAsync​(java.lang.String code,
                                                                                                       DocumentType type)
        Get audit information about a MultiDocument transaction Retrieve audit information about a MultiDocument transaction stored in AvaTax. The audit API retrieves audit information related to a specific MultiDocument transaction. This audit information includes the following: * The `code` of the MultiDocument transaction * The `type` of the MultiDocument transaction * The server timestamp representing the exact server time when the transaction was created * The server duration - how long it took to process this transaction * Whether exact API call details were logged * A reconstructed API call showing what the original create call looked like A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        code - The transaction code for this MultiDocument transaction
        type - The transaction type for this MultiDocument transaction (See DocumentType::* for a list of allowable values)
        Returns:
        AuditMultiDocumentModel
      • commitMultiDocumentTransaction

        public MultiDocumentModel commitMultiDocumentTransaction​(CommitMultiDocumentModel model)
                                                          throws java.lang.Exception
        Commit a MultiDocument transaction Marks a list of transactions by changing its status to `Committed`. Transactions that are committed are available to be reported to a tax authority by Avalara Managed Returns. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). Any changes made to a committed transaction will generate a transaction history. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, ProStoresOperator, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        model - The commit request you wish to execute
        Returns:
        MultiDocumentModel
        Throws:
        java.lang.Exception
      • commitMultiDocumentTransactionAsync

        public java.util.concurrent.Future<MultiDocumentModel> commitMultiDocumentTransactionAsync​(CommitMultiDocumentModel model)
        Commit a MultiDocument transaction Marks a list of transactions by changing its status to `Committed`. Transactions that are committed are available to be reported to a tax authority by Avalara Managed Returns. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). Any changes made to a committed transaction will generate a transaction history. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, ProStoresOperator, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        model - The commit request you wish to execute
        Returns:
        MultiDocumentModel
      • createMultiDocumentTransaction

        public MultiDocumentModel createMultiDocumentTransaction​(java.lang.String include,
                                                                 CreateMultiDocumentModel model)
                                                          throws java.lang.Exception
        Create a new MultiDocument transaction Records a new MultiDocument transaction in AvaTax. A traditional transaction requires exactly two parties: a seller and a buyer. MultiDocument transactions can involve a marketplace of vendors, each of which contributes some portion of the final transaction. Within a MultiDocument transaction, each individual buyer and seller pair are matched up and converted to a separate document. This separation of documents allows each seller to file their taxes separately. This API will report an error if you attempt to create a transaction when one already exists with the specified `code`. If you would like the API to automatically update the transaction when it already exists, please set the `allowAdjust` value to `true`. To generate a refund for a transaction, use the `RefundTransaction` API. The field `type` identifies the kind of transaction - for example, a sale, purchase, or refund. If you do not specify a `type` value, you will receive an estimate of type `SalesOrder`, which will not be recorded. The origin and destination locations for a transaction must be identified by either address or geocode. For address-based transactions, please provide addresses in the fields `line`, `city`, `region`, `country` and `postalCode`. For geocode-based transactions, please provide the geocode information in the fields `latitude` and `longitude`. If either `latitude` or `longitude` or both are null, the transaction will be calculated using the best available address location information. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * ForceTimeout - Simulates a timeout. This adds a 30 second delay and error to your API call. This can be used to test your code to ensure it can respond correctly in the case of a dropped connection. If you omit the `$include` parameter, the API will assume you want `Summary,Addresses`. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        include - Specifies objects to include in the response after transaction is created
        model - the multi document transaction model
        Returns:
        MultiDocumentModel
        Throws:
        java.lang.Exception
      • createMultiDocumentTransactionAsync

        public java.util.concurrent.Future<MultiDocumentModel> createMultiDocumentTransactionAsync​(java.lang.String include,
                                                                                                   CreateMultiDocumentModel model)
        Create a new MultiDocument transaction Records a new MultiDocument transaction in AvaTax. A traditional transaction requires exactly two parties: a seller and a buyer. MultiDocument transactions can involve a marketplace of vendors, each of which contributes some portion of the final transaction. Within a MultiDocument transaction, each individual buyer and seller pair are matched up and converted to a separate document. This separation of documents allows each seller to file their taxes separately. This API will report an error if you attempt to create a transaction when one already exists with the specified `code`. If you would like the API to automatically update the transaction when it already exists, please set the `allowAdjust` value to `true`. To generate a refund for a transaction, use the `RefundTransaction` API. The field `type` identifies the kind of transaction - for example, a sale, purchase, or refund. If you do not specify a `type` value, you will receive an estimate of type `SalesOrder`, which will not be recorded. The origin and destination locations for a transaction must be identified by either address or geocode. For address-based transactions, please provide addresses in the fields `line`, `city`, `region`, `country` and `postalCode`. For geocode-based transactions, please provide the geocode information in the fields `latitude` and `longitude`. If either `latitude` or `longitude` or both are null, the transaction will be calculated using the best available address location information. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * ForceTimeout - Simulates a timeout. This adds a 30 second delay and error to your API call. This can be used to test your code to ensure it can respond correctly in the case of a dropped connection. If you omit the `$include` parameter, the API will assume you want `Summary,Addresses`. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        include - Specifies objects to include in the response after transaction is created
        model - the multi document transaction model
        Returns:
        MultiDocumentModel
      • getMultiDocumentTransactionByCodeAndType

        public MultiDocumentModel getMultiDocumentTransactionByCodeAndType​(java.lang.String code,
                                                                           DocumentType type,
                                                                           java.lang.String include)
                                                                    throws java.lang.Exception
        Retrieve a MultiDocument transaction Get the current MultiDocument transaction identified by this URL. If this transaction was adjusted, the return value of this API will be the current transaction with this code. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        code - The multidocument code to retrieve
        type - The transaction type to retrieve (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in the response after transaction is created
        Returns:
        MultiDocumentModel
        Throws:
        java.lang.Exception
      • getMultiDocumentTransactionByCodeAndTypeAsync

        public java.util.concurrent.Future<MultiDocumentModel> getMultiDocumentTransactionByCodeAndTypeAsync​(java.lang.String code,
                                                                                                             DocumentType type,
                                                                                                             java.lang.String include)
        Retrieve a MultiDocument transaction Get the current MultiDocument transaction identified by this URL. If this transaction was adjusted, the return value of this API will be the current transaction with this code. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        code - The multidocument code to retrieve
        type - The transaction type to retrieve (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in the response after transaction is created
        Returns:
        MultiDocumentModel
      • getMultiDocumentTransactionById

        public MultiDocumentModel getMultiDocumentTransactionById​(java.lang.Long id,
                                                                  java.lang.String include)
                                                           throws java.lang.Exception
        Retrieve a MultiDocument transaction by ID Get the unique MultiDocument transaction identified by this URL. A traditional transaction requires exactly two parties: a seller and a buyer. MultiDocument transactions can involve a marketplace of vendors, each of which contributes some portion of the final transaction. Within a MultiDocument transaction, each individual buyer and seller pair are matched up and converted to a separate document. This separation of documents allows each seller to file their taxes separately. This endpoint retrieves the exact transaction identified by this ID number even if that transaction was later adjusted by using the `AdjustTransaction` endpoint. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        id - The unique ID number of the MultiDocument transaction to retrieve
        include - Specifies objects to include in the response after transaction is created
        Returns:
        MultiDocumentModel
        Throws:
        java.lang.Exception
      • getMultiDocumentTransactionByIdAsync

        public java.util.concurrent.Future<MultiDocumentModel> getMultiDocumentTransactionByIdAsync​(java.lang.Long id,
                                                                                                    java.lang.String include)
        Retrieve a MultiDocument transaction by ID Get the unique MultiDocument transaction identified by this URL. A traditional transaction requires exactly two parties: a seller and a buyer. MultiDocument transactions can involve a marketplace of vendors, each of which contributes some portion of the final transaction. Within a MultiDocument transaction, each individual buyer and seller pair are matched up and converted to a separate document. This separation of documents allows each seller to file their taxes separately. This endpoint retrieves the exact transaction identified by this ID number even if that transaction was later adjusted by using the `AdjustTransaction` endpoint. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        id - The unique ID number of the MultiDocument transaction to retrieve
        include - Specifies objects to include in the response after transaction is created
        Returns:
        MultiDocumentModel
      • listMultiDocumentTransactions

        public FetchResult<MultiDocumentModel> listMultiDocumentTransactions​(java.lang.String filter,
                                                                             java.lang.String include,
                                                                             java.lang.Integer top,
                                                                             java.lang.Integer skip,
                                                                             java.lang.String orderBy)
                                                                      throws java.lang.Exception
        Retrieve all MultiDocument transactions List all MultiDocument transactions within this account. This endpoint is limited to returning 1,000 MultiDocument transactions at a time. To retrieve more than 1,000 MultiDocument transactions, please use the pagination features of the API. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        filter - 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/).
        *Not filterable:* documents
        include - Specifies objects to include in the response after transaction is created
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listMultiDocumentTransactionsAsync

        public java.util.concurrent.Future<FetchResult<MultiDocumentModel>> listMultiDocumentTransactionsAsync​(java.lang.String filter,
                                                                                                               java.lang.String include,
                                                                                                               java.lang.Integer top,
                                                                                                               java.lang.Integer skip,
                                                                                                               java.lang.String orderBy)
        Retrieve all MultiDocument transactions List all MultiDocument transactions within this account. This endpoint is limited to returning 1,000 MultiDocument transactions at a time. To retrieve more than 1,000 MultiDocument transactions, please use the pagination features of the API. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        filter - 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/).
        *Not filterable:* documents
        include - Specifies objects to include in the response after transaction is created
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • refundMultiDocumentTransaction

        public MultiDocumentModel refundMultiDocumentTransaction​(java.lang.String code,
                                                                 DocumentType type,
                                                                 java.lang.String include,
                                                                 RefundTransactionModel model)
                                                          throws java.lang.Exception
        Create a refund for a MultiDocument transaction Create a refund for a MultiDocument transaction. A traditional transaction requires exactly two parties: a seller and a buyer. MultiDocument transactions can involve a marketplace of vendors, each of which contributes some portion of the final transaction. Within a MultiDocument transaction, each individual buyer and seller pair are matched up and converted to a separate document. This separation of documents allows each seller to file their taxes separately. The `RefundTransaction` API allows you to quickly and easily create a `ReturnInvoice` representing a refund for a previously created `SalesInvoice` transaction. You can choose to create a full or partial refund, and specify individual line items from the original sale for refund. The `RefundTransaction` API ensures that the tax amount you refund to the customer exactly matches the tax that was calculated during the original transaction, regardless of any changes to your company's configuration, rules, nexus, or any other setting. This API is intended to be a shortcut to allow you to quickly and accurately generate a refund for the following common refund scenarios: * A full refund of a previous sale * Refunding the tax that was charged on a previous sale, when the customer provides an exemption certificate after the purchase * Refunding one or more items (lines) from a previous sale * Granting a customer a percentage refund of a previous sale For more complex scenarios than the ones above, please use `CreateTransaction` with document type `ReturnInvoice` to create a custom refund transaction. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) If you omit the `$include` parameter, the API will assume you want `Summary,Addresses`. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        code - The code of this MultiDocument transaction
        type - The type of this MultiDocument transaction (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in the response after transaction is created
        model - Information about the refund to create
        Returns:
        MultiDocumentModel
        Throws:
        java.lang.Exception
      • refundMultiDocumentTransactionAsync

        public java.util.concurrent.Future<MultiDocumentModel> refundMultiDocumentTransactionAsync​(java.lang.String code,
                                                                                                   DocumentType type,
                                                                                                   java.lang.String include,
                                                                                                   RefundTransactionModel model)
        Create a refund for a MultiDocument transaction Create a refund for a MultiDocument transaction. A traditional transaction requires exactly two parties: a seller and a buyer. MultiDocument transactions can involve a marketplace of vendors, each of which contributes some portion of the final transaction. Within a MultiDocument transaction, each individual buyer and seller pair are matched up and converted to a separate document. This separation of documents allows each seller to file their taxes separately. The `RefundTransaction` API allows you to quickly and easily create a `ReturnInvoice` representing a refund for a previously created `SalesInvoice` transaction. You can choose to create a full or partial refund, and specify individual line items from the original sale for refund. The `RefundTransaction` API ensures that the tax amount you refund to the customer exactly matches the tax that was calculated during the original transaction, regardless of any changes to your company's configuration, rules, nexus, or any other setting. This API is intended to be a shortcut to allow you to quickly and accurately generate a refund for the following common refund scenarios: * A full refund of a previous sale * Refunding the tax that was charged on a previous sale, when the customer provides an exemption certificate after the purchase * Refunding one or more items (lines) from a previous sale * Granting a customer a percentage refund of a previous sale For more complex scenarios than the ones above, please use `CreateTransaction` with document type `ReturnInvoice` to create a custom refund transaction. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) If you omit the `$include` parameter, the API will assume you want `Summary,Addresses`. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        code - The code of this MultiDocument transaction
        type - The type of this MultiDocument transaction (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in the response after transaction is created
        model - Information about the refund to create
        Returns:
        MultiDocumentModel
      • verifyMultiDocumentTransaction

        public MultiDocumentModel verifyMultiDocumentTransaction​(VerifyMultiDocumentModel model)
                                                          throws java.lang.Exception
        Verify a MultiDocument transaction Verifies that the MultiDocument transaction uniquely identified by this URL matches certain expected values. If the transaction does not match these expected values, this API will return an error code indicating which value did not match. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        model - Information from your accounting system to verify against this MultiDocument transaction as it is stored in AvaTax
        Returns:
        MultiDocumentModel
        Throws:
        java.lang.Exception
      • verifyMultiDocumentTransactionAsync

        public java.util.concurrent.Future<MultiDocumentModel> verifyMultiDocumentTransactionAsync​(VerifyMultiDocumentModel model)
        Verify a MultiDocument transaction Verifies that the MultiDocument transaction uniquely identified by this URL matches certain expected values. If the transaction does not match these expected values, this API will return an error code indicating which value did not match. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        model - Information from your accounting system to verify against this MultiDocument transaction as it is stored in AvaTax
        Returns:
        MultiDocumentModel
      • voidMultiDocumentTransaction

        public MultiDocumentModel voidMultiDocumentTransaction​(java.lang.String code,
                                                               DocumentType type,
                                                               VoidTransactionModel model)
                                                        throws java.lang.Exception
        Void a MultiDocument transaction Voids the current transaction uniquely identified by this URL. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). When you void a transaction, that transaction's status is recorded as `DocVoided`. Transactions that have been previously reported to a tax authority by Avalara Managed Returns Service are considered `locked`, and they are no longer available to be voided. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, ProStoresOperator, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        code - The transaction code for this MultiDocument transaction
        type - The transaction type for this MultiDocument transaction (See DocumentType::* for a list of allowable values)
        model - The void request you wish to execute
        Returns:
        MultiDocumentModel
        Throws:
        java.lang.Exception
      • voidMultiDocumentTransactionAsync

        public java.util.concurrent.Future<MultiDocumentModel> voidMultiDocumentTransactionAsync​(java.lang.String code,
                                                                                                 DocumentType type,
                                                                                                 VoidTransactionModel model)
        Void a MultiDocument transaction Voids the current transaction uniquely identified by this URL. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). When you void a transaction, that transaction's status is recorded as `DocVoided`. Transactions that have been previously reported to a tax authority by Avalara Managed Returns Service are considered `locked`, and they are no longer available to be voided. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, ProStoresOperator, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        code - The transaction code for this MultiDocument transaction
        type - The transaction type for this MultiDocument transaction (See DocumentType::* for a list of allowable values)
        model - The void request you wish to execute
        Returns:
        MultiDocumentModel
      • createNexus

        public java.util.ArrayList<NexusModel> createNexus​(java.lang.Integer companyId,
                                                           java.util.ArrayList<NexusModel> model)
                                                    throws java.lang.Exception
        Create a new nexus Creates one or more new nexus declarations attached to this company. The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your accountant or lawyer prior to declaring nexus. To create a nexus declaration for your company, you must first call the Definitions API `ListNexus` to obtain a list of Avalara-defined nexus. Once you have determined which nexus you wish to declare, you should customize only the user-selectable fields in this object. The user selectable fields for the nexus object are `companyId`, `effectiveDate`, `endDate`, `localNexusTypeId`, `taxId`, `nexusTypeId`, `hasPermanentEstablishment`, and `isSellerImporterOfRecord`. When calling `CreateNexus` or `UpdateNexus`, all values in your nexus object except for the user-selectable fields must match an Avalara-defined system nexus object. You can retrieve a list of Avalara-defined system nexus objects by calling `ListNexus`. If any data does not match, AvaTax may not recognize your nexus declaration. Please note that nexus changes may not take effect immediately and you should plan to update your nexus settings in advance of calculating tax for a location. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this nexus.
        model - The nexus you wish to create.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createNexusAsync

        public java.util.concurrent.Future<java.util.ArrayList<NexusModel>> createNexusAsync​(java.lang.Integer companyId,
                                                                                             java.util.ArrayList<NexusModel> model)
        Create a new nexus Creates one or more new nexus declarations attached to this company. The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your accountant or lawyer prior to declaring nexus. To create a nexus declaration for your company, you must first call the Definitions API `ListNexus` to obtain a list of Avalara-defined nexus. Once you have determined which nexus you wish to declare, you should customize only the user-selectable fields in this object. The user selectable fields for the nexus object are `companyId`, `effectiveDate`, `endDate`, `localNexusTypeId`, `taxId`, `nexusTypeId`, `hasPermanentEstablishment`, and `isSellerImporterOfRecord`. When calling `CreateNexus` or `UpdateNexus`, all values in your nexus object except for the user-selectable fields must match an Avalara-defined system nexus object. You can retrieve a list of Avalara-defined system nexus objects by calling `ListNexus`. If any data does not match, AvaTax may not recognize your nexus declaration. Please note that nexus changes may not take effect immediately and you should plan to update your nexus settings in advance of calculating tax for a location. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this nexus.
        model - The nexus you wish to create.
        Returns:
        ArrayList
      • createNexusParameters

        public java.util.ArrayList<NexusParameterDetailModel> createNexusParameters​(java.lang.Integer companyId,
                                                                                    java.lang.Integer nexusId,
                                                                                    java.util.ArrayList<NexusParameterDetailModel> model)
                                                                             throws java.lang.Exception
        Add parameters to a nexus. Add parameters to the nexus. Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to an nexus will be used by default in tax calculation but will not show on the transaction line referencing the nexus. A parameter specified on a transaction line will override an nexus parameter if they share the same parameter name. To see available parameters for this item, call `/api/v2/definitions/parameters?$filter=attributeType eq Nexus` Some parameters are only available for use if you have subscribed to specific AvaTax services. To see which parameters you are able to use, add the query parameter "$showSubscribed=true" to the parameter definition call above. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this nexus parameter.
        nexusId - The nexus id.
        model - The nexus parameters you wish to create.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createNexusParametersAsync

        public java.util.concurrent.Future<java.util.ArrayList<NexusParameterDetailModel>> createNexusParametersAsync​(java.lang.Integer companyId,
                                                                                                                      java.lang.Integer nexusId,
                                                                                                                      java.util.ArrayList<NexusParameterDetailModel> model)
        Add parameters to a nexus. Add parameters to the nexus. Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to an nexus will be used by default in tax calculation but will not show on the transaction line referencing the nexus. A parameter specified on a transaction line will override an nexus parameter if they share the same parameter name. To see available parameters for this item, call `/api/v2/definitions/parameters?$filter=attributeType eq Nexus` Some parameters are only available for use if you have subscribed to specific AvaTax services. To see which parameters you are able to use, add the query parameter "$showSubscribed=true" to the parameter definition call above. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this nexus parameter.
        nexusId - The nexus id.
        model - The nexus parameters you wish to create.
        Returns:
        ArrayList
      • declareNexusByAddress

        public java.util.ArrayList<NexusByAddressModel> declareNexusByAddress​(java.lang.Integer companyId,
                                                                              java.util.ArrayList<DeclareNexusByAddressModel> model)
                                                                       throws java.lang.Exception
        Creates nexus for a list of addresses. This call is intended to simplify adding all applicable nexus to a company, for an address or addresses. Calling this API declares nexus for this company, for the list of addresses provided, for the date range provided. You may also use this API to extend effective date on an already-declared nexus. The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your accountant or lawyer prior to declaring nexus. Note that not all fields within a nexus can be updated; Avalara publishes a list of all defined nexus at the '/api/v2/definitions/nexus' endpoint. You may only define nexus matching the official list of declared nexus. Please note that nexus changes may not take effect immediately and you should plan to update your nexus settings in advance of calculating tax for a location. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that will own this nexus.
        model - The nexus you wish to create.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • declareNexusByAddressAsync

        public java.util.concurrent.Future<java.util.ArrayList<NexusByAddressModel>> declareNexusByAddressAsync​(java.lang.Integer companyId,
                                                                                                                java.util.ArrayList<DeclareNexusByAddressModel> model)
        Creates nexus for a list of addresses. This call is intended to simplify adding all applicable nexus to a company, for an address or addresses. Calling this API declares nexus for this company, for the list of addresses provided, for the date range provided. You may also use this API to extend effective date on an already-declared nexus. The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your accountant or lawyer prior to declaring nexus. Note that not all fields within a nexus can be updated; Avalara publishes a list of all defined nexus at the '/api/v2/definitions/nexus' endpoint. You may only define nexus matching the official list of declared nexus. Please note that nexus changes may not take effect immediately and you should plan to update your nexus settings in advance of calculating tax for a location. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that will own this nexus.
        model - The nexus you wish to create.
        Returns:
        ArrayList
      • deleteNexus

        public java.util.ArrayList<ErrorDetail> deleteNexus​(java.lang.Integer companyId,
                                                            java.lang.Integer id,
                                                            java.lang.Boolean cascadeDelete)
                                                     throws java.lang.Exception
        Delete a single nexus Marks the existing nexus object at this URL as deleted. The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your accountant or lawyer prior to declaring nexus. Please note that nexus changes may not take effect immediately and you should plan to update your nexus settings in advance of calculating tax for a location. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this nexus.
        id - The ID of the nexus you wish to delete.
        cascadeDelete - If true, deletes all the child nexus if they exist along with parent nexus
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteNexusAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteNexusAsync​(java.lang.Integer companyId,
                                                                                              java.lang.Integer id,
                                                                                              java.lang.Boolean cascadeDelete)
        Delete a single nexus Marks the existing nexus object at this URL as deleted. The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your accountant or lawyer prior to declaring nexus. Please note that nexus changes may not take effect immediately and you should plan to update your nexus settings in advance of calculating tax for a location. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this nexus.
        id - The ID of the nexus you wish to delete.
        cascadeDelete - If true, deletes all the child nexus if they exist along with parent nexus
        Returns:
        ArrayList
      • deleteNexusParameter

        public java.util.ArrayList<ErrorDetail> deleteNexusParameter​(java.lang.Integer companyId,
                                                                     java.lang.Integer nexusId,
                                                                     java.lang.Long id)
                                                              throws java.lang.Exception
        Delete a single nexus parameter Delete a single nexus parameter. Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to an nexus will be used by default in tax calculation but will not show on the transaction line referencing the nexus. A parameter specified on a transaction line will override an nexus parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The company id
        nexusId - The nexus id
        id - The parameter id
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteNexusParameterAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteNexusParameterAsync​(java.lang.Integer companyId,
                                                                                                       java.lang.Integer nexusId,
                                                                                                       java.lang.Long id)
        Delete a single nexus parameter Delete a single nexus parameter. Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to an nexus will be used by default in tax calculation but will not show on the transaction line referencing the nexus. A parameter specified on a transaction line will override an nexus parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The company id
        nexusId - The nexus id
        id - The parameter id
        Returns:
        ArrayList
      • deleteNexusParameters

        public java.util.ArrayList<ErrorDetail> deleteNexusParameters​(java.lang.Integer companyId,
                                                                      java.lang.Integer nexusId)
                                                               throws java.lang.Exception
        Delete all parameters for an nexus Delete all the parameters for a given nexus. Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to an nexus will be used by default in tax calculation but will not show on the transaction line referencing the nexus. A parameter specified on a transaction line will override an nexus parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this nexus.
        nexusId - The ID of the nexus you wish to delete the parameters.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteNexusParametersAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteNexusParametersAsync​(java.lang.Integer companyId,
                                                                                                        java.lang.Integer nexusId)
        Delete all parameters for an nexus Delete all the parameters for a given nexus. Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to an nexus will be used by default in tax calculation but will not show on the transaction line referencing the nexus. A parameter specified on a transaction line will override an nexus parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this nexus.
        nexusId - The ID of the nexus you wish to delete the parameters.
        Returns:
        ArrayList
      • getNexus

        public NexusModel getNexus​(java.lang.Integer companyId,
                                   java.lang.Integer id,
                                   java.lang.String include)
                            throws java.lang.Exception
        Retrieve a single nexus Get the nexus object identified by this URL. The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your accountant or lawyer prior to declaring nexus. 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: * Parameters ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns this nexus object
        id - The primary key of this nexus
        include -
        Returns:
        NexusModel
        Throws:
        java.lang.Exception
      • getNexusAsync

        public java.util.concurrent.Future<NexusModel> getNexusAsync​(java.lang.Integer companyId,
                                                                     java.lang.Integer id,
                                                                     java.lang.String include)
        Retrieve a single nexus Get the nexus object identified by this URL. The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your accountant or lawyer prior to declaring nexus. 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: * Parameters ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns this nexus object
        id - The primary key of this nexus
        include -
        Returns:
        NexusModel
      • getNexusByFormCode

        public NexusByTaxFormModel getNexusByFormCode​(java.lang.Integer companyId,
                                                      java.lang.String formCode,
                                                      java.lang.String include)
                                               throws java.lang.Exception
        List company nexus related to a tax form Retrieves a list of nexus related to a tax form. The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your accountant or lawyer prior to declaring nexus. This API is intended to provide useful information when examining a tax form. If you are about to begin filing a tax form, you may want to know whether you have declared nexus in all the jurisdictions related to that tax form in order to better understand how the form will be filled out. 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: * Parameters ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns this nexus object
        formCode - The form code that we are looking up the nexus for
        include -
        Returns:
        NexusByTaxFormModel
        Throws:
        java.lang.Exception
      • getNexusByFormCodeAsync

        public java.util.concurrent.Future<NexusByTaxFormModel> getNexusByFormCodeAsync​(java.lang.Integer companyId,
                                                                                        java.lang.String formCode,
                                                                                        java.lang.String include)
        List company nexus related to a tax form Retrieves a list of nexus related to a tax form. The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your accountant or lawyer prior to declaring nexus. This API is intended to provide useful information when examining a tax form. If you are about to begin filing a tax form, you may want to know whether you have declared nexus in all the jurisdictions related to that tax form in order to better understand how the form will be filled out. 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: * Parameters ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns this nexus object
        formCode - The form code that we are looking up the nexus for
        include -
        Returns:
        NexusByTaxFormModel
      • getNexusParameter

        public NexusParameterDetailModel getNexusParameter​(java.lang.Integer companyId,
                                                           java.lang.Integer nexusId,
                                                           java.lang.Long id)
                                                    throws java.lang.Exception
        Retrieve a single nexus parameter Retrieve a single nexus parameter. Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller.In AvaTax, these tax-affecting properties are called "parameters". A parameter added to an nexus will be used by default in tax calculation but will not show on the transaction line referencing the nexus. A parameter specified on a transaction line will override an nexus parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The company id
        nexusId - The nexus id
        id - The parameter id
        Returns:
        NexusParameterDetailModel
        Throws:
        java.lang.Exception
      • getNexusParameterAsync

        public java.util.concurrent.Future<NexusParameterDetailModel> getNexusParameterAsync​(java.lang.Integer companyId,
                                                                                             java.lang.Integer nexusId,
                                                                                             java.lang.Long id)
        Retrieve a single nexus parameter Retrieve a single nexus parameter. Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller.In AvaTax, these tax-affecting properties are called "parameters". A parameter added to an nexus will be used by default in tax calculation but will not show on the transaction line referencing the nexus. A parameter specified on a transaction line will override an nexus parameter if they share the same parameter name. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The company id
        nexusId - The nexus id
        id - The parameter id
        Returns:
        NexusParameterDetailModel
      • listNexusByCompany

        public FetchResult<NexusModel> listNexusByCompany​(java.lang.Integer companyId,
                                                          java.lang.String filter,
                                                          java.lang.String include,
                                                          java.lang.Integer top,
                                                          java.lang.Integer skip,
                                                          java.lang.String orderBy)
                                                   throws java.lang.Exception
        Retrieve nexus for this company List all nexus objects defined for this company. The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your accountant or lawyer prior to declaring nexus. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. 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: * Parameters ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns these nexus objects
        filter - 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/).
        *Not filterable:* streamlinedSalesTax, isSSTActive, taxAuthorityId, taxName, parameters, taxableNexus
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listNexusByCompanyAsync

        public java.util.concurrent.Future<FetchResult<NexusModel>> listNexusByCompanyAsync​(java.lang.Integer companyId,
                                                                                            java.lang.String filter,
                                                                                            java.lang.String include,
                                                                                            java.lang.Integer top,
                                                                                            java.lang.Integer skip,
                                                                                            java.lang.String orderBy)
        Retrieve nexus for this company List all nexus objects defined for this company. The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your accountant or lawyer prior to declaring nexus. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. 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: * Parameters ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns these nexus objects
        filter - 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/).
        *Not filterable:* streamlinedSalesTax, isSSTActive, taxAuthorityId, taxName, parameters, taxableNexus
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • listNexusParameters

        public FetchResult<NexusParameterDetailModel> listNexusParameters​(java.lang.Integer companyId,
                                                                          java.lang.Integer nexusId,
                                                                          java.lang.String filter,
                                                                          java.lang.Integer top,
                                                                          java.lang.Integer skip,
                                                                          java.lang.String orderBy)
                                                                   throws java.lang.Exception
        Retrieve parameters for a nexus List parameters for a nexus. Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to an nexus will be used by default in tax calculation but will not show on the transaction line referencing the nexus. A parameter specified on a transaction line will override an nexus parameter if they share the same parameter name. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The company id
        nexusId - The nexus id
        filter - 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/).
        *Not filterable:* name, unit
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listNexusParametersAsync

        public java.util.concurrent.Future<FetchResult<NexusParameterDetailModel>> listNexusParametersAsync​(java.lang.Integer companyId,
                                                                                                            java.lang.Integer nexusId,
                                                                                                            java.lang.String filter,
                                                                                                            java.lang.Integer top,
                                                                                                            java.lang.Integer skip,
                                                                                                            java.lang.String orderBy)
        Retrieve parameters for a nexus List parameters for a nexus. Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to an nexus will be used by default in tax calculation but will not show on the transaction line referencing the nexus. A parameter specified on a transaction line will override an nexus parameter if they share the same parameter name. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The company id
        nexusId - The nexus id
        filter - 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/).
        *Not filterable:* name, unit
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • queryNexus

        public FetchResult<NexusModel> queryNexus​(java.lang.String filter,
                                                  java.lang.String include,
                                                  java.lang.Integer top,
                                                  java.lang.Integer skip,
                                                  java.lang.String orderBy)
                                           throws java.lang.Exception
        Retrieve all nexus Get multiple nexus objects across all companies. The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your accountant or lawyer prior to declaring nexus. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. 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: * Parameters ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        filter - 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/).
        *Not filterable:* streamlinedSalesTax, isSSTActive, taxAuthorityId, taxName, parameters, taxableNexus
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • queryNexusAsync

        public java.util.concurrent.Future<FetchResult<NexusModel>> queryNexusAsync​(java.lang.String filter,
                                                                                    java.lang.String include,
                                                                                    java.lang.Integer top,
                                                                                    java.lang.Integer skip,
                                                                                    java.lang.String orderBy)
        Retrieve all nexus Get multiple nexus objects across all companies. The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your accountant or lawyer prior to declaring nexus. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. 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: * Parameters ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        filter - 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/).
        *Not filterable:* streamlinedSalesTax, isSSTActive, taxAuthorityId, taxName, parameters, taxableNexus
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • updateNexus

        public NexusModel updateNexus​(java.lang.Integer companyId,
                                      java.lang.Integer id,
                                      NexusModel model)
                               throws java.lang.Exception
        Update a single nexus Replace the existing nexus declaration object at this URL with an updated object. The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your accountant or lawyer prior to declaring nexus. To create a nexus declaration for your company, you must first call the Definitions API `ListNexus` to obtain a list of Avalara-defined nexus. Once you have determined which nexus you wish to declare, you should customize only the user-selectable fields in this object. The user selectable fields for the nexus object are `companyId`, `effectiveDate`, `endDate`, `localNexusTypeId`, `taxId`, `nexusTypeId`, `hasPermanentEstablishment`, and `isSellerImporterOfRecord`. When calling `CreateNexus` or `UpdateNexus`, all values in your nexus object except for the user-selectable fields must match an Avalara-defined system nexus object. You can retrieve a list of Avalara-defined system nexus objects by calling `ListNexus`. If any data does not match, AvaTax may not recognize your nexus declaration. Please note that nexus changes may not take effect immediately and you should plan to update your nexus settings in advance of calculating tax for a location. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that this nexus belongs to.
        id - The ID of the nexus you wish to update
        model - The nexus object you wish to update.
        Returns:
        NexusModel
        Throws:
        java.lang.Exception
      • updateNexusAsync

        public java.util.concurrent.Future<NexusModel> updateNexusAsync​(java.lang.Integer companyId,
                                                                        java.lang.Integer id,
                                                                        NexusModel model)
        Update a single nexus Replace the existing nexus declaration object at this URL with an updated object. The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your accountant or lawyer prior to declaring nexus. To create a nexus declaration for your company, you must first call the Definitions API `ListNexus` to obtain a list of Avalara-defined nexus. Once you have determined which nexus you wish to declare, you should customize only the user-selectable fields in this object. The user selectable fields for the nexus object are `companyId`, `effectiveDate`, `endDate`, `localNexusTypeId`, `taxId`, `nexusTypeId`, `hasPermanentEstablishment`, and `isSellerImporterOfRecord`. When calling `CreateNexus` or `UpdateNexus`, all values in your nexus object except for the user-selectable fields must match an Avalara-defined system nexus object. You can retrieve a list of Avalara-defined system nexus objects by calling `ListNexus`. If any data does not match, AvaTax may not recognize your nexus declaration. Please note that nexus changes may not take effect immediately and you should plan to update your nexus settings in advance of calculating tax for a location. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that this nexus belongs to.
        id - The ID of the nexus you wish to update
        model - The nexus object you wish to update.
        Returns:
        NexusModel
      • updateNexusParameter

        public NexusParameterDetailModel updateNexusParameter​(java.lang.Integer companyId,
                                                              java.lang.Integer nexusId,
                                                              java.lang.Long id,
                                                              NexusParameterDetailModel model)
                                                       throws java.lang.Exception
        Update an nexus parameter Update an nexus parameter. Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to a nexus will be used in tax calculation based on the locationcode and parameter value the transaction state line might have lines added. A parameter specified on a transaction line will override an item parameter if they share the same parameter name.????? I dont know about this? ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The company id.
        nexusId - The nexus id
        id - The nexus parameter id
        model - The nexus object you wish to update.
        Returns:
        NexusParameterDetailModel
        Throws:
        java.lang.Exception
      • updateNexusParameterAsync

        public java.util.concurrent.Future<NexusParameterDetailModel> updateNexusParameterAsync​(java.lang.Integer companyId,
                                                                                                java.lang.Integer nexusId,
                                                                                                java.lang.Long id,
                                                                                                NexusParameterDetailModel model)
        Update an nexus parameter Update an nexus parameter. Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller. In AvaTax, these tax-affecting properties are called "parameters". A parameter added to a nexus will be used in tax calculation based on the locationcode and parameter value the transaction state line might have lines added. A parameter specified on a transaction line will override an item parameter if they share the same parameter name.????? I dont know about this? ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The company id.
        nexusId - The nexus id
        id - The nexus parameter id
        model - The nexus object you wish to update.
        Returns:
        NexusParameterDetailModel
      • dismissNotification

        public NotificationModel dismissNotification​(java.lang.Long id)
                                              throws java.lang.Exception
        Mark a single notification as dismissed. Marks the notification identified by this URL as dismissed. A notification is a message from Avalara that may have relevance to your business. You may want to regularly review notifications and then dismiss them when you are certain that you have addressed any relevant concerns raised by this notification. An example of a notification would be a message about new software, or a change to AvaTax that may affect you, or a potential issue with your company's tax profile. When you dismiss a notification, the notification will track the user and time when it was dismissed. You can then later review which employees of your company dismissed notifications to determine if they were resolved appropriately. A Global notification with null accountId and companyId cannot be dismissed and will expire within a given time span. ### Security Policies * 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.
        Parameters:
        id - The id of the notification you wish to mark as dismissed.
        Returns:
        NotificationModel
        Throws:
        java.lang.Exception
      • dismissNotificationAsync

        public java.util.concurrent.Future<NotificationModel> dismissNotificationAsync​(java.lang.Long id)
        Mark a single notification as dismissed. Marks the notification identified by this URL as dismissed. A notification is a message from Avalara that may have relevance to your business. You may want to regularly review notifications and then dismiss them when you are certain that you have addressed any relevant concerns raised by this notification. An example of a notification would be a message about new software, or a change to AvaTax that may affect you, or a potential issue with your company's tax profile. When you dismiss a notification, the notification will track the user and time when it was dismissed. You can then later review which employees of your company dismissed notifications to determine if they were resolved appropriately. A Global notification with null accountId and companyId cannot be dismissed and will expire within a given time span. ### Security Policies * 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.
        Parameters:
        id - The id of the notification you wish to mark as dismissed.
        Returns:
        NotificationModel
      • getNotification

        public NotificationModel getNotification​(java.lang.Long id)
                                          throws java.lang.Exception
        Retrieve a single notification. Retrieve a single notification by its unique ID number. A notification is a message from Avalara that may have relevance to your business. You may want to regularly review notifications and then dismiss them when you are certain that you have addressed any relevant concerns raised by this notification. An example of a notification would be a message about new software, or a change to AvaTax that may affect you, or a potential issue with your company's tax profile. ### Security Policies * 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.
        Parameters:
        id - The id of the notification to retrieve.
        Returns:
        NotificationModel
        Throws:
        java.lang.Exception
      • getNotificationAsync

        public java.util.concurrent.Future<NotificationModel> getNotificationAsync​(java.lang.Long id)
        Retrieve a single notification. Retrieve a single notification by its unique ID number. A notification is a message from Avalara that may have relevance to your business. You may want to regularly review notifications and then dismiss them when you are certain that you have addressed any relevant concerns raised by this notification. An example of a notification would be a message about new software, or a change to AvaTax that may affect you, or a potential issue with your company's tax profile. ### Security Policies * 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.
        Parameters:
        id - The id of the notification to retrieve.
        Returns:
        NotificationModel
      • listNotifications

        public FetchResult<NotificationModel> listNotifications​(java.lang.String filter,
                                                                java.lang.Integer top,
                                                                java.lang.Integer skip,
                                                                java.lang.String orderBy)
                                                         throws java.lang.Exception
        List all notifications. List all notifications. A notification is a message from Avalara that may have relevance to your business. You may want to regularly review notifications and then dismiss them when you are certain that you have addressed any relevant concerns raised by this notification. An example of a notification would be a message about new software, or a change to AvaTax that may affect you, or a potential issue with your company's tax profile. You may 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * 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.
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listNotificationsAsync

        public java.util.concurrent.Future<FetchResult<NotificationModel>> listNotificationsAsync​(java.lang.String filter,
                                                                                                  java.lang.Integer top,
                                                                                                  java.lang.Integer skip,
                                                                                                  java.lang.String orderBy)
        List all notifications. List all notifications. A notification is a message from Avalara that may have relevance to your business. You may want to regularly review notifications and then dismiss them when you are certain that you have addressed any relevant concerns raised by this notification. An example of a notification would be a message about new software, or a change to AvaTax that may affect you, or a potential issue with your company's tax profile. You may 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * 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.
        Parameters:
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • requestNewAccount

        public NewAccountModel requestNewAccount​(NewAccountRequestModel model)
                                          throws java.lang.Exception
        Request a new Avalara account This API is for use by partner provisioning services customers only. Avalara invites select partners to refer new customers to the AvaTax service using the onboarding features of AvaTax. These partners can create accounts for new customers using this API. Calling this API creates an account with the specified product subscriptions, but does not configure billing. The customer will receive information from Avalara about how to configure billing for their account. You should call this API when a customer has requested to begin using Avalara services. If the newly created account owner wishes, they can confirm that they have read and agree to the Avalara terms and conditions. If they do so, they can receive a license key as part of this API and their API will be created in `Active` status. If the customer has not yet read and accepted these terms and conditions, the account will be created in `New` status and they can receive a license key by logging onto the AvaTax website and reviewing terms and conditions online. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. * This API is available by invitation only. * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [Provisioning:RequestNewAccount].
        Parameters:
        model - Information about the account you wish to create and the selected product offerings.
        Returns:
        NewAccountModel
        Throws:
        java.lang.Exception
      • requestNewAccountAsync

        public java.util.concurrent.Future<NewAccountModel> requestNewAccountAsync​(NewAccountRequestModel model)
        Request a new Avalara account This API is for use by partner provisioning services customers only. Avalara invites select partners to refer new customers to the AvaTax service using the onboarding features of AvaTax. These partners can create accounts for new customers using this API. Calling this API creates an account with the specified product subscriptions, but does not configure billing. The customer will receive information from Avalara about how to configure billing for their account. You should call this API when a customer has requested to begin using Avalara services. If the newly created account owner wishes, they can confirm that they have read and agree to the Avalara terms and conditions. If they do so, they can receive a license key as part of this API and their API will be created in `Active` status. If the customer has not yet read and accepted these terms and conditions, the account will be created in `New` status and they can receive a license key by logging onto the AvaTax website and reviewing terms and conditions online. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. * This API is available by invitation only. * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [Provisioning:RequestNewAccount].
        Parameters:
        model - Information about the account you wish to create and the selected product offerings.
        Returns:
        NewAccountModel
      • requestNewEntitlement

        public OfferModel requestNewEntitlement​(java.lang.Integer id,
                                                java.lang.String offer)
                                         throws java.lang.Exception
        Request a new entitilement to an existing customer This API is for use by partner provisioning services customers only. This will allow the partners to allow the add new entitlement to an existing customer ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. * This API is available by invitation only. * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [Provisioning:RequestNewAccount].
        Parameters:
        id - The avatax account id of the customer
        offer - The offer to be added to an already existing customer
        Returns:
        OfferModel
        Throws:
        java.lang.Exception
      • requestNewEntitlementAsync

        public java.util.concurrent.Future<OfferModel> requestNewEntitlementAsync​(java.lang.Integer id,
                                                                                  java.lang.String offer)
        Request a new entitilement to an existing customer This API is for use by partner provisioning services customers only. This will allow the partners to allow the add new entitlement to an existing customer ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. * This API is available by invitation only. * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [Provisioning:RequestNewAccount].
        Parameters:
        id - The avatax account id of the customer
        offer - The offer to be added to an already existing customer
        Returns:
        OfferModel
      • createAccount

        public java.util.ArrayList<AccountModel> createAccount​(AccountModel model)
                                                        throws java.lang.Exception
        Create a new account # For Registrar Use Only This API is for use by Avalara Registrar administrative users only. Create a single new account object. When creating an account object you may attach subscriptions and users as part of the 'Create' call. ### Security Policies * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        model - The account you wish to create.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createAccountAsync

        public java.util.concurrent.Future<java.util.ArrayList<AccountModel>> createAccountAsync​(AccountModel model)
        Create a new account # For Registrar Use Only This API is for use by Avalara Registrar administrative users only. Create a single new account object. When creating an account object you may attach subscriptions and users as part of the 'Create' call. ### Security Policies * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        model - The account you wish to create.
        Returns:
        ArrayList
      • createNotifications

        public java.util.ArrayList<NotificationModel> createNotifications​(java.util.ArrayList<NotificationModel> model)
                                                                   throws java.lang.Exception
        Create new notifications. This API is available by invitation only. Create a single notification. A notification is a message from Avalara that may have relevance to your business. You may want to regularly review notifications and then dismiss them when you are certain that you have addressed any relevant concerns raised by this notification. A Global notification is a message which is directed to all the accounts and is set to expire within a certain time and cannot be dismissed by the user. Make accountId and companyId null to create a global notification. An example of a notification would be a message about new software, or a change to AvaTax that may affect you, or a potential issue with your company's tax profile. ### Security Policies * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [NotificationsAPI:Create].
        Parameters:
        model - The notifications you wish to create.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createNotificationsAsync

        public java.util.concurrent.Future<java.util.ArrayList<NotificationModel>> createNotificationsAsync​(java.util.ArrayList<NotificationModel> model)
        Create new notifications. This API is available by invitation only. Create a single notification. A notification is a message from Avalara that may have relevance to your business. You may want to regularly review notifications and then dismiss them when you are certain that you have addressed any relevant concerns raised by this notification. A Global notification is a message which is directed to all the accounts and is set to expire within a certain time and cannot be dismissed by the user. Make accountId and companyId null to create a global notification. An example of a notification would be a message about new software, or a change to AvaTax that may affect you, or a potential issue with your company's tax profile. ### Security Policies * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [NotificationsAPI:Create].
        Parameters:
        model - The notifications you wish to create.
        Returns:
        ArrayList
      • createSubscriptions

        public java.util.ArrayList<SubscriptionModel> createSubscriptions​(java.lang.Integer accountId,
                                                                          java.util.ArrayList<SubscriptionModel> model)
                                                                   throws java.lang.Exception
        Create a new subscription This API is for use by Avalara Registrar administrative users only. Create one or more new subscription objects attached to this account. A 'subscription' indicates a licensed subscription to a named Avalara service. To request or remove subscriptions, please contact Avalara sales or your customer account manager. ### Security Policies * This API requires one of the following user roles: Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        accountId - The ID of the account that owns this subscription.
        model - The subscription you wish to create.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createSubscriptionsAsync

        public java.util.concurrent.Future<java.util.ArrayList<SubscriptionModel>> createSubscriptionsAsync​(java.lang.Integer accountId,
                                                                                                            java.util.ArrayList<SubscriptionModel> model)
        Create a new subscription This API is for use by Avalara Registrar administrative users only. Create one or more new subscription objects attached to this account. A 'subscription' indicates a licensed subscription to a named Avalara service. To request or remove subscriptions, please contact Avalara sales or your customer account manager. ### Security Policies * This API requires one of the following user roles: Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        accountId - The ID of the account that owns this subscription.
        model - The subscription you wish to create.
        Returns:
        ArrayList
      • deleteAccount

        public java.util.ArrayList<ErrorDetail> deleteAccount​(java.lang.Integer id)
                                                       throws java.lang.Exception
        Delete a single account # For Registrar Use Only This API is for use by Avalara Registrar administrative users only. Delete an account. Deleting an account will delete all companies, all account level users and license keys attached to this account. ### Security Policies * This API requires the user role SystemAdmin.
        Parameters:
        id - The ID of the account you wish to delete.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteAccountAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteAccountAsync​(java.lang.Integer id)
        Delete a single account # For Registrar Use Only This API is for use by Avalara Registrar administrative users only. Delete an account. Deleting an account will delete all companies, all account level users and license keys attached to this account. ### Security Policies * This API requires the user role SystemAdmin.
        Parameters:
        id - The ID of the account you wish to delete.
        Returns:
        ArrayList
      • deleteNotification

        public java.util.ArrayList<ErrorDetail> deleteNotification​(java.lang.Long id)
                                                            throws java.lang.Exception
        Delete a single notification. This API is available by invitation only. Delete the existing notification identified by this URL. A notification is a message from Avalara that may have relevance to your business. You may want to regularly review notifications and then dismiss them when you are certain that you have addressed any relevant concerns raised by this notification. An example of a notification would be a message about new software, or a change to AvaTax that may affect you, or a potential issue with your company's tax profile. ### Security Policies * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [NotificationsAPI:Create].
        Parameters:
        id - The id of the notification you wish to delete.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteNotificationAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteNotificationAsync​(java.lang.Long id)
        Delete a single notification. This API is available by invitation only. Delete the existing notification identified by this URL. A notification is a message from Avalara that may have relevance to your business. You may want to regularly review notifications and then dismiss them when you are certain that you have addressed any relevant concerns raised by this notification. An example of a notification would be a message about new software, or a change to AvaTax that may affect you, or a potential issue with your company's tax profile. ### Security Policies * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [NotificationsAPI:Create].
        Parameters:
        id - The id of the notification you wish to delete.
        Returns:
        ArrayList
      • deleteSubscription

        public java.util.ArrayList<ErrorDetail> deleteSubscription​(java.lang.Integer accountId,
                                                                   java.lang.Integer id)
                                                            throws java.lang.Exception
        Delete a single subscription # For Registrar Use Only This API is for use by Avalara Registrar administrative users only. Mark the existing account identified by this URL as deleted. ### Security Policies * This API requires one of the following user roles: Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        accountId - The ID of the account that owns this subscription.
        id - The ID of the subscription you wish to delete.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteSubscriptionAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteSubscriptionAsync​(java.lang.Integer accountId,
                                                                                                     java.lang.Integer id)
        Delete a single subscription # For Registrar Use Only This API is for use by Avalara Registrar administrative users only. Mark the existing account identified by this URL as deleted. ### Security Policies * This API requires one of the following user roles: Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        accountId - The ID of the account that owns this subscription.
        id - The ID of the subscription you wish to delete.
        Returns:
        ArrayList
      • resetPassword

        public java.lang.String resetPassword​(java.lang.Integer userId,
                                              java.lang.Boolean unmigrateFromAi,
                                              SetPasswordModel model)
                                       throws java.lang.Exception
        Reset a user's password programmatically # For Registrar Use Only This API is for use by Avalara Registrar administrative users only. Allows a system admin to reset the password for a specific user via the API. This API is only available for Avalara Registrar Admins, and can be used to reset the password of any user based on internal Avalara business processes. ### Security Policies * 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. * This API is available to Avalara system-level (registrar-level) users only.
        Parameters:
        userId - The unique ID of the user whose password will be changed
        unmigrateFromAi - If user's password was migrated to AI, undo this.
        model - The new password for this user
        Returns:
        String
        Throws:
        java.lang.Exception
      • resetPasswordAsync

        public java.util.concurrent.Future<java.lang.String> resetPasswordAsync​(java.lang.Integer userId,
                                                                                java.lang.Boolean unmigrateFromAi,
                                                                                SetPasswordModel model)
        Reset a user's password programmatically # For Registrar Use Only This API is for use by Avalara Registrar administrative users only. Allows a system admin to reset the password for a specific user via the API. This API is only available for Avalara Registrar Admins, and can be used to reset the password of any user based on internal Avalara business processes. ### Security Policies * 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. * This API is available to Avalara system-level (registrar-level) users only.
        Parameters:
        userId - The unique ID of the user whose password will be changed
        unmigrateFromAi - If user's password was migrated to AI, undo this.
        model - The new password for this user
        Returns:
        String
      • updateAccount

        public AccountModel updateAccount​(java.lang.Integer id,
                                          AccountModel model)
                                   throws java.lang.Exception
        Update a single account # For Registrar Use Only This API is for use by Avalara Registrar administrative users only. Replace an existing account object with an updated account object. ### Security Policies * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        id - The ID of the account you wish to update.
        model - The account object you wish to update.
        Returns:
        AccountModel
        Throws:
        java.lang.Exception
      • updateAccountAsync

        public java.util.concurrent.Future<AccountModel> updateAccountAsync​(java.lang.Integer id,
                                                                            AccountModel model)
        Update a single account # For Registrar Use Only This API is for use by Avalara Registrar administrative users only. Replace an existing account object with an updated account object. ### Security Policies * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        id - The ID of the account you wish to update.
        model - The account object you wish to update.
        Returns:
        AccountModel
      • updateNotification

        public NotificationModel updateNotification​(java.lang.Long id,
                                                    NotificationModel model)
                                             throws java.lang.Exception
        Update a single notification. This API is available by invitation only. Replaces the notification identified by this URL with a new notification. A notification is a message from Avalara that may have relevance to your business. You may want to regularly review notifications and then dismiss them when you are certain that you have addressed any relevant concerns raised by this notification. An example of a notification would be a message about new software, or a change to AvaTax that may affect you, or a potential issue with your company's tax profile. ### Security Policies * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [NotificationsAPI:Create].
        Parameters:
        id - The id of the notification you wish to update.
        model - The notification object you wish to update.
        Returns:
        NotificationModel
        Throws:
        java.lang.Exception
      • updateNotificationAsync

        public java.util.concurrent.Future<NotificationModel> updateNotificationAsync​(java.lang.Long id,
                                                                                      NotificationModel model)
        Update a single notification. This API is available by invitation only. Replaces the notification identified by this URL with a new notification. A notification is a message from Avalara that may have relevance to your business. You may want to regularly review notifications and then dismiss them when you are certain that you have addressed any relevant concerns raised by this notification. An example of a notification would be a message about new software, or a change to AvaTax that may affect you, or a potential issue with your company's tax profile. ### Security Policies * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [NotificationsAPI:Create].
        Parameters:
        id - The id of the notification you wish to update.
        model - The notification object you wish to update.
        Returns:
        NotificationModel
      • updateSubscription

        public SubscriptionModel updateSubscription​(java.lang.Integer accountId,
                                                    java.lang.Integer id,
                                                    SubscriptionModel model)
                                             throws java.lang.Exception
        Update a single subscription # For Registrar Use Only This API is for use by Avalara Registrar administrative users only. Replace the existing subscription object at this URL with an updated object. A 'subscription' indicates a licensed subscription to a named Avalara service. To request or remove subscriptions, please contact Avalara sales or your customer account manager. All data from the existing object will be replaced with data in the object you PUT. 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. ### Security Policies * This API requires one of the following user roles: Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        accountId - The ID of the account that this subscription belongs to.
        id - The ID of the subscription you wish to update
        model - The subscription you wish to update.
        Returns:
        SubscriptionModel
        Throws:
        java.lang.Exception
      • updateSubscriptionAsync

        public java.util.concurrent.Future<SubscriptionModel> updateSubscriptionAsync​(java.lang.Integer accountId,
                                                                                      java.lang.Integer id,
                                                                                      SubscriptionModel model)
        Update a single subscription # For Registrar Use Only This API is for use by Avalara Registrar administrative users only. Replace the existing subscription object at this URL with an updated object. A 'subscription' indicates a licensed subscription to a named Avalara service. To request or remove subscriptions, please contact Avalara sales or your customer account manager. All data from the existing object will be replaced with data in the object you PUT. 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. ### Security Policies * This API requires one of the following user roles: Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        accountId - The ID of the account that this subscription belongs to.
        id - The ID of the subscription you wish to update
        model - The subscription you wish to update.
        Returns:
        SubscriptionModel
      • downloadReport

        public java.lang.String downloadReport​(java.lang.Long id)
                                        throws java.lang.Exception
        Download a report This API downloads the file associated with a report. If the report is not yet complete, you will receive a `ReportNotFinished` error. To check if a report is complete, use the `GetReport` API. Reports are run as asynchronous report tasks on the server. When complete, the report file will be available for download for up to 30 days after completion. To run an asynchronous report, you should follow these steps: * Begin a report by calling the report's Initiate API. There is a separate initiate API call for each report type. * In the result of the Initiate API, you receive back a report's `id` value. * Check the status of a report by calling `GetReport` and passing in the report's `id` value. * When a report's status is `Completed`, call `DownloadReport` to retrieve the file. This API works for all report types. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        id - The unique ID number of this report
        Returns:
        String
        Throws:
        java.lang.Exception
      • downloadReportAsync

        public java.util.concurrent.Future<java.lang.String> downloadReportAsync​(java.lang.Long id)
        Download a report This API downloads the file associated with a report. If the report is not yet complete, you will receive a `ReportNotFinished` error. To check if a report is complete, use the `GetReport` API. Reports are run as asynchronous report tasks on the server. When complete, the report file will be available for download for up to 30 days after completion. To run an asynchronous report, you should follow these steps: * Begin a report by calling the report's Initiate API. There is a separate initiate API call for each report type. * In the result of the Initiate API, you receive back a report's `id` value. * Check the status of a report by calling `GetReport` and passing in the report's `id` value. * When a report's status is `Completed`, call `DownloadReport` to retrieve the file. This API works for all report types. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        id - The unique ID number of this report
        Returns:
        String
      • getReport

        public ReportModel getReport​(java.lang.Long id)
                              throws java.lang.Exception
        Retrieve a single report Retrieve a single report by its unique ID number. Reports are run as asynchronous report tasks on the server. When complete, the report file will be available for download for up to 30 days after completion. To run an asynchronous report, you should follow these steps: * Begin a report by calling the report's Initiate API. There is a separate initiate API call for each report type. * In the result of the Initiate API, you receive back a report's `id` value. * Check the status of a report by calling `GetReport` and passing in the report's `id` value. * When a report's status is `Completed`, call `DownloadReport` to retrieve the file.
        Parameters:
        id - The unique ID number of the report to retrieve
        Returns:
        ReportModel
        Throws:
        java.lang.Exception
      • getReportAsync

        public java.util.concurrent.Future<ReportModel> getReportAsync​(java.lang.Long id)
        Retrieve a single report Retrieve a single report by its unique ID number. Reports are run as asynchronous report tasks on the server. When complete, the report file will be available for download for up to 30 days after completion. To run an asynchronous report, you should follow these steps: * Begin a report by calling the report's Initiate API. There is a separate initiate API call for each report type. * In the result of the Initiate API, you receive back a report's `id` value. * Check the status of a report by calling `GetReport` and passing in the report's `id` value. * When a report's status is `Completed`, call `DownloadReport` to retrieve the file.
        Parameters:
        id - The unique ID number of the report to retrieve
        Returns:
        ReportModel
      • initiateExportDocumentLineReport

        public java.util.ArrayList<ReportModel> initiateExportDocumentLineReport​(java.lang.Integer companyId,
                                                                                 ExportDocumentLineModel model)
                                                                          throws java.lang.Exception
        Initiate an ExportDocumentLine report task Begins running an `ExportDocumentLine` report task and returns the identity of the report. Reports are run as asynchronous report tasks on the server. When complete, the report file will be available for download for up to 30 days after completion. To run an asynchronous report, you should follow these steps: * Begin a report by calling the report's Initiate API. There is a separate initiate API call for each report type. * In the result of the Initiate API, you receive back a report's `id` value. * Check the status of a report by calling `GetReport` and passing in the report's `id` value. * When a report's status is `Completed`, call `DownloadReport` to retrieve the file. The `ExportDocumentLine` report produces information about invoice lines recorded within your account. To split large reports into multiple smaller partitions, use the numberOfPartitions and partition properties on ExportDocumentLineModel. Example - split a report into three partitions * Follow the steps above with numberOfPartitions = 3 and partition = 0 * Follow the steps above with numberOfPartitions = 3 and partition = 1 * Follow the steps above with numberOfPartitions = 3 and partition = 2 * Once all three reports are downloaded merge the files on the client side. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The unique ID number of the company to report on.
        model - Options that may be configured to customize the report.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • initiateExportDocumentLineReportAsync

        public java.util.concurrent.Future<java.util.ArrayList<ReportModel>> initiateExportDocumentLineReportAsync​(java.lang.Integer companyId,
                                                                                                                   ExportDocumentLineModel model)
        Initiate an ExportDocumentLine report task Begins running an `ExportDocumentLine` report task and returns the identity of the report. Reports are run as asynchronous report tasks on the server. When complete, the report file will be available for download for up to 30 days after completion. To run an asynchronous report, you should follow these steps: * Begin a report by calling the report's Initiate API. There is a separate initiate API call for each report type. * In the result of the Initiate API, you receive back a report's `id` value. * Check the status of a report by calling `GetReport` and passing in the report's `id` value. * When a report's status is `Completed`, call `DownloadReport` to retrieve the file. The `ExportDocumentLine` report produces information about invoice lines recorded within your account. To split large reports into multiple smaller partitions, use the numberOfPartitions and partition properties on ExportDocumentLineModel. Example - split a report into three partitions * Follow the steps above with numberOfPartitions = 3 and partition = 0 * Follow the steps above with numberOfPartitions = 3 and partition = 1 * Follow the steps above with numberOfPartitions = 3 and partition = 2 * Once all three reports are downloaded merge the files on the client side. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The unique ID number of the company to report on.
        model - Options that may be configured to customize the report.
        Returns:
        ArrayList
      • listReports

        public FetchResult<ReportModel> listReports​(java.lang.Integer companyId,
                                                    java.lang.String pageKey,
                                                    java.lang.Integer skip,
                                                    java.lang.Integer top)
                                             throws java.lang.Exception
        List all report tasks for account List all report tasks for your account. Reports are run as asynchronous report tasks on the server. When complete, the report file will be available for download for up to 30 days after completion. To run an asynchronous report, you should follow these steps: * Begin a report by calling the report's Initiate API. There is a separate initiate API call for each report type. * In the result of the Initiate API, you receive back a report's `id` value. * Check the status of a report by calling `GetReport` and passing in the report's `id` value. * When a report's status is `Completed`, call `DownloadReport` to retrieve the file. This API call returns information about all report types across your entire account. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The id of the company for which to get reports.
        pageKey - Provide a page key to retrieve the next page of results.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        top - 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.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listReportsAsync

        public java.util.concurrent.Future<FetchResult<ReportModel>> listReportsAsync​(java.lang.Integer companyId,
                                                                                      java.lang.String pageKey,
                                                                                      java.lang.Integer skip,
                                                                                      java.lang.Integer top)
        List all report tasks for account List all report tasks for your account. Reports are run as asynchronous report tasks on the server. When complete, the report file will be available for download for up to 30 days after completion. To run an asynchronous report, you should follow these steps: * Begin a report by calling the report's Initiate API. There is a separate initiate API call for each report type. * In the result of the Initiate API, you receive back a report's `id` value. * Check the status of a report by calling `GetReport` and passing in the report's `id` value. * When a report's status is `Completed`, call `DownloadReport` to retrieve the file. This API call returns information about all report types across your entire account. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The id of the company for which to get reports.
        pageKey - Provide a page key to retrieve the next page of results.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        top - 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.
        Returns:
        FetchResult
      • createSettings

        public java.util.ArrayList<SettingModel> createSettings​(java.lang.Integer companyId,
                                                                java.util.ArrayList<SettingModel> model)
                                                         throws java.lang.Exception
        Create a new setting Create one or more new setting objects attached to this company. The company settings system is a metadata system that you can use to store extra information about a company. Your integration or connector could use this data storage to keep track of preference information, reminders, or any other storage that would need to persist even if the customer uninstalls your application. A setting can refer to any type of data you need to remember about this company object. When creating this object, you may define your own `set`, `name`, and `value` parameters. To define your own values, please choose a `set` name that begins with `X-` to indicate an extension. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this setting.
        model - The setting you wish to create.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createSettingsAsync

        public java.util.concurrent.Future<java.util.ArrayList<SettingModel>> createSettingsAsync​(java.lang.Integer companyId,
                                                                                                  java.util.ArrayList<SettingModel> model)
        Create a new setting Create one or more new setting objects attached to this company. The company settings system is a metadata system that you can use to store extra information about a company. Your integration or connector could use this data storage to keep track of preference information, reminders, or any other storage that would need to persist even if the customer uninstalls your application. A setting can refer to any type of data you need to remember about this company object. When creating this object, you may define your own `set`, `name`, and `value` parameters. To define your own values, please choose a `set` name that begins with `X-` to indicate an extension. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this setting.
        model - The setting you wish to create.
        Returns:
        ArrayList
      • deleteSetting

        public java.util.ArrayList<ErrorDetail> deleteSetting​(java.lang.Integer companyId,
                                                              java.lang.Integer id)
                                                       throws java.lang.Exception
        Delete a single setting Mark the setting object at this URL as deleted. The company settings system is a metadata system that you can use to store extra information about a company. Your integration or connector could use this data storage to keep track of preference information, reminders, or any other storage that would need to persist even if the customer uninstalls your application. A setting can refer to any type of data you need to remember about this company object. When creating this object, you may define your own `set`, `name`, and `value` parameters. To define your own values, please choose a `set` name that begins with `X-` to indicate an extension. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this setting.
        id - The ID of the setting you wish to delete.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteSettingAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteSettingAsync​(java.lang.Integer companyId,
                                                                                                java.lang.Integer id)
        Delete a single setting Mark the setting object at this URL as deleted. The company settings system is a metadata system that you can use to store extra information about a company. Your integration or connector could use this data storage to keep track of preference information, reminders, or any other storage that would need to persist even if the customer uninstalls your application. A setting can refer to any type of data you need to remember about this company object. When creating this object, you may define your own `set`, `name`, and `value` parameters. To define your own values, please choose a `set` name that begins with `X-` to indicate an extension. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this setting.
        id - The ID of the setting you wish to delete.
        Returns:
        ArrayList
      • getSetting

        public SettingModel getSetting​(java.lang.Integer companyId,
                                       java.lang.Integer id)
                                throws java.lang.Exception
        Retrieve a single setting Get a single setting object by its unique ID. The company settings system is a metadata system that you can use to store extra information about a company. Your integration or connector could use this data storage to keep track of preference information, reminders, or any other storage that would need to persist even if the customer uninstalls your application. A setting can refer to any type of data you need to remember about this company object. When creating this object, you may define your own `set`, `name`, and `value` parameters. To define your own values, please choose a `set` name that begins with `X-` to indicate an extension. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns this setting
        id - The primary key of this setting
        Returns:
        SettingModel
        Throws:
        java.lang.Exception
      • getSettingAsync

        public java.util.concurrent.Future<SettingModel> getSettingAsync​(java.lang.Integer companyId,
                                                                         java.lang.Integer id)
        Retrieve a single setting Get a single setting object by its unique ID. The company settings system is a metadata system that you can use to store extra information about a company. Your integration or connector could use this data storage to keep track of preference information, reminders, or any other storage that would need to persist even if the customer uninstalls your application. A setting can refer to any type of data you need to remember about this company object. When creating this object, you may define your own `set`, `name`, and `value` parameters. To define your own values, please choose a `set` name that begins with `X-` to indicate an extension. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns this setting
        id - The primary key of this setting
        Returns:
        SettingModel
      • listSettingsByCompany

        public FetchResult<SettingModel> listSettingsByCompany​(java.lang.Integer companyId,
                                                               java.lang.String filter,
                                                               java.lang.String include,
                                                               java.lang.Integer top,
                                                               java.lang.Integer skip,
                                                               java.lang.String orderBy)
                                                        throws java.lang.Exception
        Retrieve all settings for this company List all setting objects attached to this company. The company settings system is a metadata system that you can use to store extra information about a company. Your integration or connector could use this data storage to keep track of preference information, reminders, or any other storage that would need to persist even if the customer uninstalls your application. A setting can refer to any type of data you need to remember about this company object. When creating this object, you may define your own `set`, `name`, and `value` parameters. To define your own values, please choose a `set` name that begins with `X-` to indicate an extension. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns these settings
        filter - 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/).
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listSettingsByCompanyAsync

        public java.util.concurrent.Future<FetchResult<SettingModel>> listSettingsByCompanyAsync​(java.lang.Integer companyId,
                                                                                                 java.lang.String filter,
                                                                                                 java.lang.String include,
                                                                                                 java.lang.Integer top,
                                                                                                 java.lang.Integer skip,
                                                                                                 java.lang.String orderBy)
        Retrieve all settings for this company List all setting objects attached to this company. The company settings system is a metadata system that you can use to store extra information about a company. Your integration or connector could use this data storage to keep track of preference information, reminders, or any other storage that would need to persist even if the customer uninstalls your application. A setting can refer to any type of data you need to remember about this company object. When creating this object, you may define your own `set`, `name`, and `value` parameters. To define your own values, please choose a `set` name that begins with `X-` to indicate an extension. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns these settings
        filter - 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/).
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • querySettings

        public FetchResult<SettingModel> querySettings​(java.lang.String filter,
                                                       java.lang.String include,
                                                       java.lang.Integer top,
                                                       java.lang.Integer skip,
                                                       java.lang.String orderBy)
                                                throws java.lang.Exception
        Retrieve all settings Get multiple setting objects across all companies. The company settings system is a metadata system that you can use to store extra information about a company. Your integration or connector could use this data storage to keep track of preference information, reminders, or any other storage that would need to persist even if the customer uninstalls your application. A setting can refer to any type of data you need to remember about this company object. When creating this object, you may define your own `set`, `name`, and `value` parameters. To define your own values, please choose a `set` name that begins with `X-` to indicate an extension. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        filter - 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/).
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • querySettingsAsync

        public java.util.concurrent.Future<FetchResult<SettingModel>> querySettingsAsync​(java.lang.String filter,
                                                                                         java.lang.String include,
                                                                                         java.lang.Integer top,
                                                                                         java.lang.Integer skip,
                                                                                         java.lang.String orderBy)
        Retrieve all settings Get multiple setting objects across all companies. The company settings system is a metadata system that you can use to store extra information about a company. Your integration or connector could use this data storage to keep track of preference information, reminders, or any other storage that would need to persist even if the customer uninstalls your application. A setting can refer to any type of data you need to remember about this company object. When creating this object, you may define your own `set`, `name`, and `value` parameters. To define your own values, please choose a `set` name that begins with `X-` to indicate an extension. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        filter - 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/).
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • updateSetting

        public SettingModel updateSetting​(java.lang.Integer companyId,
                                          java.lang.Integer id,
                                          SettingModel model)
                                   throws java.lang.Exception
        Update a single setting Replace the existing setting object at this URL with an updated object. The company settings system is a metadata system that you can use to store extra information about a company. Your integration or connector could use this data storage to keep track of preference information, reminders, or any other storage that would need to persist even if the customer uninstalls your application. A setting can refer to any type of data you need to remember about this company object. When creating this object, you may define your own `set`, `name`, and `value` parameters. To define your own values, please choose a `set` name that begins with `X-` to indicate an extension. All data from the existing object will be replaced with data in the object you `PUT`. To set a field's value to `null`, you may either set its value to `null` or omit that field from the object when calling update. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that this setting belongs to.
        id - The ID of the setting you wish to update
        model - The setting you wish to update.
        Returns:
        SettingModel
        Throws:
        java.lang.Exception
      • updateSettingAsync

        public java.util.concurrent.Future<SettingModel> updateSettingAsync​(java.lang.Integer companyId,
                                                                            java.lang.Integer id,
                                                                            SettingModel model)
        Update a single setting Replace the existing setting object at this URL with an updated object. The company settings system is a metadata system that you can use to store extra information about a company. Your integration or connector could use this data storage to keep track of preference information, reminders, or any other storage that would need to persist even if the customer uninstalls your application. A setting can refer to any type of data you need to remember about this company object. When creating this object, you may define your own `set`, `name`, and `value` parameters. To define your own values, please choose a `set` name that begins with `X-` to indicate an extension. All data from the existing object will be replaced with data in the object you `PUT`. To set a field's value to `null`, you may either set its value to `null` or omit that field from the object when calling update. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that this setting belongs to.
        id - The ID of the setting you wish to update
        model - The setting you wish to update.
        Returns:
        SettingModel
      • getSubscription

        public SubscriptionModel getSubscription​(java.lang.Integer accountId,
                                                 java.lang.Integer id)
                                          throws java.lang.Exception
        Retrieve a single subscription Get the subscription object identified by this URL. A 'subscription' indicates a licensed subscription to a named Avalara service. To request or remove subscriptions, please contact Avalara sales or your customer account manager. ### Security Policies * 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.
        Parameters:
        accountId - The ID of the account that owns this subscription
        id - The primary key of this subscription
        Returns:
        SubscriptionModel
        Throws:
        java.lang.Exception
      • getSubscriptionAsync

        public java.util.concurrent.Future<SubscriptionModel> getSubscriptionAsync​(java.lang.Integer accountId,
                                                                                   java.lang.Integer id)
        Retrieve a single subscription Get the subscription object identified by this URL. A 'subscription' indicates a licensed subscription to a named Avalara service. To request or remove subscriptions, please contact Avalara sales or your customer account manager. ### Security Policies * 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.
        Parameters:
        accountId - The ID of the account that owns this subscription
        id - The primary key of this subscription
        Returns:
        SubscriptionModel
      • listSubscriptionsByAccount

        public FetchResult<SubscriptionModel> listSubscriptionsByAccount​(java.lang.Integer accountId,
                                                                         java.lang.String filter,
                                                                         java.lang.Integer top,
                                                                         java.lang.Integer skip,
                                                                         java.lang.String orderBy)
                                                                  throws java.lang.Exception
        Retrieve subscriptions for this account List all subscription objects attached to this account. A 'subscription' indicates a licensed subscription to a named Avalara service. To request or remove subscriptions, please contact Avalara sales or your customer account manager. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * 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.
        Parameters:
        accountId - The ID of the account that owns these subscriptions
        filter - 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/).
        *Not filterable:* subscriptionDescription
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listSubscriptionsByAccountAsync

        public java.util.concurrent.Future<FetchResult<SubscriptionModel>> listSubscriptionsByAccountAsync​(java.lang.Integer accountId,
                                                                                                           java.lang.String filter,
                                                                                                           java.lang.Integer top,
                                                                                                           java.lang.Integer skip,
                                                                                                           java.lang.String orderBy)
        Retrieve subscriptions for this account List all subscription objects attached to this account. A 'subscription' indicates a licensed subscription to a named Avalara service. To request or remove subscriptions, please contact Avalara sales or your customer account manager. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * 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.
        Parameters:
        accountId - The ID of the account that owns these subscriptions
        filter - 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/).
        *Not filterable:* subscriptionDescription
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • querySubscriptions

        public FetchResult<SubscriptionModel> querySubscriptions​(java.lang.String filter,
                                                                 java.lang.Integer top,
                                                                 java.lang.Integer skip,
                                                                 java.lang.String orderBy)
                                                          throws java.lang.Exception
        Retrieve all subscriptions Get multiple subscription objects across all accounts. A 'subscription' indicates a licensed subscription to a named Avalara service. To request or remove subscriptions, please contact Avalara sales or your customer account manager. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * 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.
        Parameters:
        filter - 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/).
        *Not filterable:* subscriptionDescription
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • querySubscriptionsAsync

        public java.util.concurrent.Future<FetchResult<SubscriptionModel>> querySubscriptionsAsync​(java.lang.String filter,
                                                                                                   java.lang.Integer top,
                                                                                                   java.lang.Integer skip,
                                                                                                   java.lang.String orderBy)
        Retrieve all subscriptions Get multiple subscription objects across all accounts. A 'subscription' indicates a licensed subscription to a named Avalara service. To request or remove subscriptions, please contact Avalara sales or your customer account manager. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * 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.
        Parameters:
        filter - 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/).
        *Not filterable:* subscriptionDescription
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • createTaxCodes

        public java.util.ArrayList<TaxCodeModel> createTaxCodes​(java.lang.Integer companyId,
                                                                java.util.ArrayList<TaxCodeModel> model)
                                                         throws java.lang.Exception
        Create a new tax code Create one or more new taxcode objects attached to this company. A 'TaxCode' represents a uniquely identified type of product, good, or service. Avalara supports correct tax rates and taxability rules for all TaxCodes in all supported jurisdictions. If you identify your products by tax code in your 'Create Transacion' API calls, Avalara will correctly calculate tax rates and taxability rules for this product in all supported jurisdictions. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this tax code.
        model - The tax code you wish to create.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createTaxCodesAsync

        public java.util.concurrent.Future<java.util.ArrayList<TaxCodeModel>> createTaxCodesAsync​(java.lang.Integer companyId,
                                                                                                  java.util.ArrayList<TaxCodeModel> model)
        Create a new tax code Create one or more new taxcode objects attached to this company. A 'TaxCode' represents a uniquely identified type of product, good, or service. Avalara supports correct tax rates and taxability rules for all TaxCodes in all supported jurisdictions. If you identify your products by tax code in your 'Create Transacion' API calls, Avalara will correctly calculate tax rates and taxability rules for this product in all supported jurisdictions. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this tax code.
        model - The tax code you wish to create.
        Returns:
        ArrayList
      • deleteTaxCode

        public java.util.ArrayList<ErrorDetail> deleteTaxCode​(java.lang.Integer companyId,
                                                              java.lang.Integer id)
                                                       throws java.lang.Exception
        Delete a single tax code Marks the existing TaxCode object at this URL as deleted. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this tax code.
        id - The ID of the tax code you wish to delete.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteTaxCodeAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteTaxCodeAsync​(java.lang.Integer companyId,
                                                                                                java.lang.Integer id)
        Delete a single tax code Marks the existing TaxCode object at this URL as deleted. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this tax code.
        id - The ID of the tax code you wish to delete.
        Returns:
        ArrayList
      • getTaxCode

        public TaxCodeModel getTaxCode​(java.lang.Integer companyId,
                                       java.lang.Integer id)
                                throws java.lang.Exception
        Retrieve a single tax code Get the taxcode object identified by this URL. A 'TaxCode' represents a uniquely identified type of product, good, or service. Avalara supports correct tax rates and taxability rules for all TaxCodes in all supported jurisdictions. If you identify your products by tax code in your 'Create Transacion' API calls, Avalara will correctly calculate tax rates and taxability rules for this product in all supported jurisdictions. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns this tax code
        id - The primary key of this tax code
        Returns:
        TaxCodeModel
        Throws:
        java.lang.Exception
      • getTaxCodeAsync

        public java.util.concurrent.Future<TaxCodeModel> getTaxCodeAsync​(java.lang.Integer companyId,
                                                                         java.lang.Integer id)
        Retrieve a single tax code Get the taxcode object identified by this URL. A 'TaxCode' represents a uniquely identified type of product, good, or service. Avalara supports correct tax rates and taxability rules for all TaxCodes in all supported jurisdictions. If you identify your products by tax code in your 'Create Transacion' API calls, Avalara will correctly calculate tax rates and taxability rules for this product in all supported jurisdictions. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns this tax code
        id - The primary key of this tax code
        Returns:
        TaxCodeModel
      • listTaxCodesByCompany

        public FetchResult<TaxCodeModel> listTaxCodesByCompany​(java.lang.Integer companyId,
                                                               java.lang.String filter,
                                                               java.lang.String include,
                                                               java.lang.Integer top,
                                                               java.lang.Integer skip,
                                                               java.lang.String orderBy)
                                                        throws java.lang.Exception
        Retrieve tax codes for this company List all taxcode objects attached to this company. A 'TaxCode' represents a uniquely identified type of product, good, or service. Avalara supports correct tax rates and taxability rules for all TaxCodes in all supported jurisdictions. If you identify your products by tax code in your 'Create Transacion' API calls, Avalara will correctly calculate tax rates and taxability rules for this product in all supported jurisdictions. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns these tax codes
        filter - 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/).
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listTaxCodesByCompanyAsync

        public java.util.concurrent.Future<FetchResult<TaxCodeModel>> listTaxCodesByCompanyAsync​(java.lang.Integer companyId,
                                                                                                 java.lang.String filter,
                                                                                                 java.lang.String include,
                                                                                                 java.lang.Integer top,
                                                                                                 java.lang.Integer skip,
                                                                                                 java.lang.String orderBy)
        Retrieve tax codes for this company List all taxcode objects attached to this company. A 'TaxCode' represents a uniquely identified type of product, good, or service. Avalara supports correct tax rates and taxability rules for all TaxCodes in all supported jurisdictions. If you identify your products by tax code in your 'Create Transacion' API calls, Avalara will correctly calculate tax rates and taxability rules for this product in all supported jurisdictions. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns these tax codes
        filter - 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/).
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • queryTaxCodes

        public FetchResult<TaxCodeModel> queryTaxCodes​(java.lang.String filter,
                                                       java.lang.String include,
                                                       java.lang.Integer top,
                                                       java.lang.Integer skip,
                                                       java.lang.String orderBy)
                                                throws java.lang.Exception
        Retrieve all tax codes Get multiple taxcode objects across all companies. A 'TaxCode' represents a uniquely identified type of product, good, or service. Avalara supports correct tax rates and taxability rules for all TaxCodes in all supported jurisdictions. If you identify your products by tax code in your 'Create Transacion' API calls, Avalara will correctly calculate tax rates and taxability rules for this product in all supported jurisdictions. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        filter - 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/).
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • queryTaxCodesAsync

        public java.util.concurrent.Future<FetchResult<TaxCodeModel>> queryTaxCodesAsync​(java.lang.String filter,
                                                                                         java.lang.String include,
                                                                                         java.lang.Integer top,
                                                                                         java.lang.Integer skip,
                                                                                         java.lang.String orderBy)
        Retrieve all tax codes Get multiple taxcode objects across all companies. A 'TaxCode' represents a uniquely identified type of product, good, or service. Avalara supports correct tax rates and taxability rules for all TaxCodes in all supported jurisdictions. If you identify your products by tax code in your 'Create Transacion' API calls, Avalara will correctly calculate tax rates and taxability rules for this product in all supported jurisdictions. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        filter - 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/).
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • updateTaxCode

        public TaxCodeModel updateTaxCode​(java.lang.Integer companyId,
                                          java.lang.Integer id,
                                          TaxCodeModel model)
                                   throws java.lang.Exception
        Update a single tax code Replace the existing taxcode object at this URL with an updated object. A 'TaxCode' represents a uniquely identified type of product, good, or service. Avalara supports correct tax rates and taxability rules for all TaxCodes in all supported jurisdictions. If you identify your products by tax code in your 'Create Transacion' API calls, Avalara will correctly calculate tax rates and taxability rules for this product in all supported jurisdictions. All data from the existing object will be replaced with data in the object you PUT. 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. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that this tax code belongs to.
        id - The ID of the tax code you wish to update
        model - The tax code you wish to update.
        Returns:
        TaxCodeModel
        Throws:
        java.lang.Exception
      • updateTaxCodeAsync

        public java.util.concurrent.Future<TaxCodeModel> updateTaxCodeAsync​(java.lang.Integer companyId,
                                                                            java.lang.Integer id,
                                                                            TaxCodeModel model)
        Update a single tax code Replace the existing taxcode object at this URL with an updated object. A 'TaxCode' represents a uniquely identified type of product, good, or service. Avalara supports correct tax rates and taxability rules for all TaxCodes in all supported jurisdictions. If you identify your products by tax code in your 'Create Transacion' API calls, Avalara will correctly calculate tax rates and taxability rules for this product in all supported jurisdictions. All data from the existing object will be replaced with data in the object you PUT. 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. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that this tax code belongs to.
        id - The ID of the tax code you wish to update
        model - The tax code you wish to update.
        Returns:
        TaxCodeModel
      • buildTaxContentFile

        public java.lang.String buildTaxContentFile​(PointOfSaleDataRequestModel model)
                                             throws java.lang.Exception
        Build a multi-location tax content file Builds a tax content file containing information useful for a retail point-of-sale solution. Since tax rates may change based on decisions made by a variety of tax authorities, we recommend that users of this tax content API download new data every day. Many tax authorities may finalize decisions on tax changes at unexpected times and may make changes in response to legal issues or governmental priorities. Any tax content downloaded for future time periods is subject to change if tax rates or tax laws change. A TaxContent file contains a matrix of the taxes that would be charged when you sell any of your Items at any of your Locations. To create items, use `CreateItems()`. To create locations, use `CreateLocations()`. The file is built by looking up the tax profile for your location and your item and calculating taxes for each in turn. To include a custom `TaxCode` in this tax content file, first create the custom tax code using `CreateTaxCodes()` to create the custom tax code, then use `CreateItems()` to create an item that uses the custom tax code. This data file can be customized for specific partner devices and usage conditions. The result of this API is the file you requested in the format you requested using the `responseType` field. This API builds the file on demand, and is limited to files with no more than 7500 scenarios. To build a tax content file for a single location at a time, please use `BuildTaxContentFileForLocation`. NOTE: This API does not work for Tennessee tax holiday scenarios. ### Security Policies * 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. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        model - Parameters about the desired file format and report format, specifying which company, locations and TaxCodes to include.
        Returns:
        String
        Throws:
        java.lang.Exception
      • buildTaxContentFileAsync

        public java.util.concurrent.Future<java.lang.String> buildTaxContentFileAsync​(PointOfSaleDataRequestModel model)
        Build a multi-location tax content file Builds a tax content file containing information useful for a retail point-of-sale solution. Since tax rates may change based on decisions made by a variety of tax authorities, we recommend that users of this tax content API download new data every day. Many tax authorities may finalize decisions on tax changes at unexpected times and may make changes in response to legal issues or governmental priorities. Any tax content downloaded for future time periods is subject to change if tax rates or tax laws change. A TaxContent file contains a matrix of the taxes that would be charged when you sell any of your Items at any of your Locations. To create items, use `CreateItems()`. To create locations, use `CreateLocations()`. The file is built by looking up the tax profile for your location and your item and calculating taxes for each in turn. To include a custom `TaxCode` in this tax content file, first create the custom tax code using `CreateTaxCodes()` to create the custom tax code, then use `CreateItems()` to create an item that uses the custom tax code. This data file can be customized for specific partner devices and usage conditions. The result of this API is the file you requested in the format you requested using the `responseType` field. This API builds the file on demand, and is limited to files with no more than 7500 scenarios. To build a tax content file for a single location at a time, please use `BuildTaxContentFileForLocation`. NOTE: This API does not work for Tennessee tax holiday scenarios. ### Security Policies * 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. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        model - Parameters about the desired file format and report format, specifying which company, locations and TaxCodes to include.
        Returns:
        String
      • buildTaxContentFileForLocation

        public java.lang.String buildTaxContentFileForLocation​(java.lang.Integer companyId,
                                                               java.lang.Integer id,
                                                               java.util.Date date,
                                                               PointOfSaleFileType format,
                                                               PointOfSalePartnerId partnerId,
                                                               java.lang.Boolean includeJurisCodes)
                                                        throws java.lang.Exception
        Build a tax content file for a single location Builds a tax content file containing information useful for a retail point-of-sale solution. Since tax rates may change based on decisions made by a variety of tax authorities, we recommend that users of this tax content API download new data every day. Many tax authorities may finalize decisions on tax changes at unexpected times and may make changes in response to legal issues or governmental priorities. Any tax content downloaded for future time periods is subject to change if tax rates or tax laws change. A TaxContent file contains a matrix of the taxes that would be charged when you sell any of your Items at any of your Locations. To create items, use `CreateItems()`. To create locations, use `CreateLocations()`. The file is built by looking up the tax profile for your location and your item and calculating taxes for each in turn. To include a custom `TaxCode` in this tax content file, first create the custom tax code using `CreateTaxCodes()` to create the custom tax code, then use `CreateItems()` to create an item that uses the custom tax code. This data file can be customized for specific partner devices and usage conditions. The result of this API is the file you requested in the format you requested using the `responseType` field. This API builds the file on demand, and is limited to files with no more than 7500 scenarios. To build a tax content file for a multiple locations in a single file, please use `BuildTaxContentFile`. NOTE: This API does not work for Tennessee tax holiday scenarios. ### Security Policies * 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. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The ID number of the company that owns this location.
        id - The ID number of the location to retrieve point-of-sale data.
        date - The date for which point-of-sale data would be calculated (today by default)
        format - The format of the file (JSON by default) (See PointOfSaleFileType::* for a list of allowable values)
        partnerId - If specified, requests a custom partner-formatted version of the file. (See PointOfSalePartnerId::* for a list of allowable values)
        includeJurisCodes - When true, the file will include jurisdiction codes in the result.
        Returns:
        String
        Throws:
        java.lang.Exception
      • buildTaxContentFileForLocationAsync

        public java.util.concurrent.Future<java.lang.String> buildTaxContentFileForLocationAsync​(java.lang.Integer companyId,
                                                                                                 java.lang.Integer id,
                                                                                                 java.util.Date date,
                                                                                                 PointOfSaleFileType format,
                                                                                                 PointOfSalePartnerId partnerId,
                                                                                                 java.lang.Boolean includeJurisCodes)
        Build a tax content file for a single location Builds a tax content file containing information useful for a retail point-of-sale solution. Since tax rates may change based on decisions made by a variety of tax authorities, we recommend that users of this tax content API download new data every day. Many tax authorities may finalize decisions on tax changes at unexpected times and may make changes in response to legal issues or governmental priorities. Any tax content downloaded for future time periods is subject to change if tax rates or tax laws change. A TaxContent file contains a matrix of the taxes that would be charged when you sell any of your Items at any of your Locations. To create items, use `CreateItems()`. To create locations, use `CreateLocations()`. The file is built by looking up the tax profile for your location and your item and calculating taxes for each in turn. To include a custom `TaxCode` in this tax content file, first create the custom tax code using `CreateTaxCodes()` to create the custom tax code, then use `CreateItems()` to create an item that uses the custom tax code. This data file can be customized for specific partner devices and usage conditions. The result of this API is the file you requested in the format you requested using the `responseType` field. This API builds the file on demand, and is limited to files with no more than 7500 scenarios. To build a tax content file for a multiple locations in a single file, please use `BuildTaxContentFile`. NOTE: This API does not work for Tennessee tax holiday scenarios. ### Security Policies * 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. * This API depends on the following active services:*Required* (all): AvaTaxPro.
        Parameters:
        companyId - The ID number of the company that owns this location.
        id - The ID number of the location to retrieve point-of-sale data.
        date - The date for which point-of-sale data would be calculated (today by default)
        format - The format of the file (JSON by default) (See PointOfSaleFileType::* for a list of allowable values)
        partnerId - If specified, requests a custom partner-formatted version of the file. (See PointOfSalePartnerId::* for a list of allowable values)
        includeJurisCodes - When true, the file will include jurisdiction codes in the result.
        Returns:
        String
      • downloadTaxRatesByZipCode

        public java.lang.String downloadTaxRatesByZipCode​(java.util.Date date,
                                                          java.lang.String region)
                                                   throws java.lang.Exception
        Download a file listing tax rates by postal code Download a CSV file containing all five digit postal codes in the United States and their sales and use tax rates for tangible personal property. Since tax rates may change based on decisions made by a variety of tax authorities, we recommend that users of this tax content API download new data every day. Many tax authorities may finalize decisions on tax changes at unexpected times and may make changes in response to legal issues or governmental priorities. Any tax content downloaded for future time periods is subject to change if tax rates or tax laws change. This rates file is intended to be used as a default for tax calculation when your software cannot call the `CreateTransaction` API call. When using this file, your software will be unable to handle complex tax rules such as: * Zip+4 - This tax file contains five digit zip codes only. * Different product types - This tax file contains tangible personal property tax rates only. * Mixed sourcing - This tax file cannot be used to resolve origin-based taxes. * Threshold-based taxes - This tax file does not contain information about thresholds. If you use this file to provide default tax rates, please ensure that your software calls `CreateTransaction` to reconcile the actual transaction and determine the difference between the estimated general tax rate and the final transaction tax. The file provided by this API is in CSV format with the following columns: * ZIP_CODE - The five digit zip code for this record. * STATE_ABBREV - A valid two character US state abbreviation for this record. Zip codes may span multiple states. * COUNTY_NAME - A valid county name for this record. Zip codes may span multiple counties. * CITY_NAME - A valid city name for this record. Zip codes may span multiple cities. * STATE_SALES_TAX - The state component of the sales tax rate. * STATE_USE_TAX - The state component of the use tax rate. * COUNTY_SALES_TAX - The county component of the sales tax rate. * COUNTY_USE_TAX - The county component of the use tax rate. * CITY_SALES_TAX - The city component of the sales tax rate. * CITY_USE_TAX - The city component of the use tax rate. * TOTAL_SALES_TAX - The total tax rate for sales tax for this postal code. This value may not equal the sum of the state/county/city due to special tax jurisdiction rules. * TOTAL_USE_TAX - The total tax rate for use tax for this postal code. This value may not equal the sum of the state/county/city due to special tax jurisdiction rules. * TAX_SHIPPING_ALONE - This column contains 'Y' if shipping is taxable. * TAX_SHIPPING_AND_HANDLING_TOGETHER - This column contains 'Y' if shipping and handling are taxable when sent together. For more detailed tax content, please use the `BuildTaxContentFile` API which allows usage of exact items and exact locations. ### Security Policies * 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.
        Parameters:
        date - The date for which point-of-sale data would be calculated (today by default). Example input: 2016-12-31
        region - A two character region code which limits results to a specific region.
        Returns:
        String
        Throws:
        java.lang.Exception
      • downloadTaxRatesByZipCodeAsync

        public java.util.concurrent.Future<java.lang.String> downloadTaxRatesByZipCodeAsync​(java.util.Date date,
                                                                                            java.lang.String region)
        Download a file listing tax rates by postal code Download a CSV file containing all five digit postal codes in the United States and their sales and use tax rates for tangible personal property. Since tax rates may change based on decisions made by a variety of tax authorities, we recommend that users of this tax content API download new data every day. Many tax authorities may finalize decisions on tax changes at unexpected times and may make changes in response to legal issues or governmental priorities. Any tax content downloaded for future time periods is subject to change if tax rates or tax laws change. This rates file is intended to be used as a default for tax calculation when your software cannot call the `CreateTransaction` API call. When using this file, your software will be unable to handle complex tax rules such as: * Zip+4 - This tax file contains five digit zip codes only. * Different product types - This tax file contains tangible personal property tax rates only. * Mixed sourcing - This tax file cannot be used to resolve origin-based taxes. * Threshold-based taxes - This tax file does not contain information about thresholds. If you use this file to provide default tax rates, please ensure that your software calls `CreateTransaction` to reconcile the actual transaction and determine the difference between the estimated general tax rate and the final transaction tax. The file provided by this API is in CSV format with the following columns: * ZIP_CODE - The five digit zip code for this record. * STATE_ABBREV - A valid two character US state abbreviation for this record. Zip codes may span multiple states. * COUNTY_NAME - A valid county name for this record. Zip codes may span multiple counties. * CITY_NAME - A valid city name for this record. Zip codes may span multiple cities. * STATE_SALES_TAX - The state component of the sales tax rate. * STATE_USE_TAX - The state component of the use tax rate. * COUNTY_SALES_TAX - The county component of the sales tax rate. * COUNTY_USE_TAX - The county component of the use tax rate. * CITY_SALES_TAX - The city component of the sales tax rate. * CITY_USE_TAX - The city component of the use tax rate. * TOTAL_SALES_TAX - The total tax rate for sales tax for this postal code. This value may not equal the sum of the state/county/city due to special tax jurisdiction rules. * TOTAL_USE_TAX - The total tax rate for use tax for this postal code. This value may not equal the sum of the state/county/city due to special tax jurisdiction rules. * TAX_SHIPPING_ALONE - This column contains 'Y' if shipping is taxable. * TAX_SHIPPING_AND_HANDLING_TOGETHER - This column contains 'Y' if shipping and handling are taxable when sent together. For more detailed tax content, please use the `BuildTaxContentFile` API which allows usage of exact items and exact locations. ### Security Policies * 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.
        Parameters:
        date - The date for which point-of-sale data would be calculated (today by default). Example input: 2016-12-31
        region - A two character region code which limits results to a specific region.
        Returns:
        String
      • taxRatesByAddress

        public TaxRateModel taxRatesByAddress​(java.lang.String line1,
                                              java.lang.String line2,
                                              java.lang.String line3,
                                              java.lang.String city,
                                              java.lang.String region,
                                              java.lang.String postalCode,
                                              java.lang.String country)
                                       throws java.lang.Exception
        Sales tax rates for a specified address Usage of this API is subject to rate limits. Users who exceed the rate limit will receive HTTP response code 429 - `Too Many Requests`. This API assumes that you are selling general tangible personal property at a retail point-of-sale location in the United States only. For more powerful tax calculation, please consider upgrading to the `CreateTransaction` API, which supports features including, but not limited to: * Nexus declarations * Taxability based on product/service type * Sourcing rules affecting origin/destination states * Customers who are exempt from certain taxes * States that have dollar value thresholds for tax amounts * Refunds for products purchased on a different date * Detailed jurisdiction names and state assigned codes * And more! Please see [Estimating Tax with REST v2](http://developer.avalara.com/blog/2016/11/04/estimating-tax-with-rest-v2/)
        Parameters:
        line1 - The street address of the location.
        line2 - The street address of the location.
        line3 - The street address of the location.
        city - The city name of the location.
        region - Name or ISO 3166 code identifying the region within the country. This field supports many different region identifiers: * Two and three character ISO 3166 region codes * Fully spelled out names of the region in ISO supported languages * Common alternative spellings for many regions For a full list of all supported codes and names, please see the Definitions API `ListRegions`.
        postalCode - The postal code of the location.
        country - Name or ISO 3166 code identifying the country. This field supports many different country identifiers: * Two character ISO 3166 codes * Three character ISO 3166 codes * Fully spelled out names of the country in ISO supported languages * Common alternative spellings for many countries For a full list of all supported codes and names, please see the Definitions API `ListCountries`.
        Returns:
        TaxRateModel
        Throws:
        java.lang.Exception
      • taxRatesByAddressAsync

        public java.util.concurrent.Future<TaxRateModel> taxRatesByAddressAsync​(java.lang.String line1,
                                                                                java.lang.String line2,
                                                                                java.lang.String line3,
                                                                                java.lang.String city,
                                                                                java.lang.String region,
                                                                                java.lang.String postalCode,
                                                                                java.lang.String country)
        Sales tax rates for a specified address Usage of this API is subject to rate limits. Users who exceed the rate limit will receive HTTP response code 429 - `Too Many Requests`. This API assumes that you are selling general tangible personal property at a retail point-of-sale location in the United States only. For more powerful tax calculation, please consider upgrading to the `CreateTransaction` API, which supports features including, but not limited to: * Nexus declarations * Taxability based on product/service type * Sourcing rules affecting origin/destination states * Customers who are exempt from certain taxes * States that have dollar value thresholds for tax amounts * Refunds for products purchased on a different date * Detailed jurisdiction names and state assigned codes * And more! Please see [Estimating Tax with REST v2](http://developer.avalara.com/blog/2016/11/04/estimating-tax-with-rest-v2/)
        Parameters:
        line1 - The street address of the location.
        line2 - The street address of the location.
        line3 - The street address of the location.
        city - The city name of the location.
        region - Name or ISO 3166 code identifying the region within the country. This field supports many different region identifiers: * Two and three character ISO 3166 region codes * Fully spelled out names of the region in ISO supported languages * Common alternative spellings for many regions For a full list of all supported codes and names, please see the Definitions API `ListRegions`.
        postalCode - The postal code of the location.
        country - Name or ISO 3166 code identifying the country. This field supports many different country identifiers: * Two character ISO 3166 codes * Three character ISO 3166 codes * Fully spelled out names of the country in ISO supported languages * Common alternative spellings for many countries For a full list of all supported codes and names, please see the Definitions API `ListCountries`.
        Returns:
        TaxRateModel
      • taxRatesByPostalCode

        public TaxRateModel taxRatesByPostalCode​(java.lang.String country,
                                                 java.lang.String postalCode)
                                          throws java.lang.Exception
        Sales tax rates for a specified country and postal code. This API is only available for US postal codes. This API is only available for a US postal codes. Usage of this API is subject to rate limits. Users who exceed the rate limit will receive HTTP response code 429 - `Too Many Requests`. This API assumes that you are selling general tangible personal property at a retail point-of-sale location in the United States only. For more powerful tax calculation, please consider upgrading to the `CreateTransaction` API, which supports features including, but not limited to: * Nexus declarations * Taxability based on product/service type * Sourcing rules affecting origin/destination states * Customers who are exempt from certain taxes * States that have dollar value thresholds for tax amounts * Refunds for products purchased on a different date * Detailed jurisdiction names and state assigned codes * And more! Please see [Estimating Tax with REST v2](http://developer.avalara.com/blog/2016/11/04/estimating-tax-with-rest-v2/)
        Parameters:
        country - Name or ISO 3166 code identifying the country. This field supports many different country identifiers: * Two character ISO 3166 codes * Three character ISO 3166 codes * Fully spelled out names of the country in ISO supported languages * Common alternative spellings for many countries For a full list of all supported codes and names, please see the Definitions API `ListCountries`.
        postalCode - The postal code of the location.
        Returns:
        TaxRateModel
        Throws:
        java.lang.Exception
      • taxRatesByPostalCodeAsync

        public java.util.concurrent.Future<TaxRateModel> taxRatesByPostalCodeAsync​(java.lang.String country,
                                                                                   java.lang.String postalCode)
        Sales tax rates for a specified country and postal code. This API is only available for US postal codes. This API is only available for a US postal codes. Usage of this API is subject to rate limits. Users who exceed the rate limit will receive HTTP response code 429 - `Too Many Requests`. This API assumes that you are selling general tangible personal property at a retail point-of-sale location in the United States only. For more powerful tax calculation, please consider upgrading to the `CreateTransaction` API, which supports features including, but not limited to: * Nexus declarations * Taxability based on product/service type * Sourcing rules affecting origin/destination states * Customers who are exempt from certain taxes * States that have dollar value thresholds for tax amounts * Refunds for products purchased on a different date * Detailed jurisdiction names and state assigned codes * And more! Please see [Estimating Tax with REST v2](http://developer.avalara.com/blog/2016/11/04/estimating-tax-with-rest-v2/)
        Parameters:
        country - Name or ISO 3166 code identifying the country. This field supports many different country identifiers: * Two character ISO 3166 codes * Three character ISO 3166 codes * Fully spelled out names of the country in ISO supported languages * Common alternative spellings for many countries For a full list of all supported codes and names, please see the Definitions API `ListCountries`.
        postalCode - The postal code of the location.
        Returns:
        TaxRateModel
      • createTaxRules

        public java.util.ArrayList<TaxRuleModel> createTaxRules​(java.lang.Integer companyId,
                                                                java.util.ArrayList<TaxRuleModel> model)
                                                         throws java.lang.Exception
        Create a new tax rule Create one or more custom tax rules attached to this company. A tax rule represents a rule that changes the default AvaTax behavior for a product or jurisdiction. Custom tax rules can be used to change the taxability of an item, to change the tax base of an item, or to change the tax rate charged when selling an item. Tax rules can also change tax behavior depending on the `entityUseCode` value submitted with the transaction. You can create custom tax rules to customize the behavior of AvaTax to match specific rules that are custom to your business. If you have obtained a ruling from a tax auditor that requires custom tax calculations, you can use custom tax rules to redefine the behavior for your company or item. Please use custom tax rules carefully and ensure that these tax rules match the behavior agreed upon with your auditor, legal representative, and accounting team. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this tax rule.
        model - The tax rule you wish to create.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createTaxRulesAsync

        public java.util.concurrent.Future<java.util.ArrayList<TaxRuleModel>> createTaxRulesAsync​(java.lang.Integer companyId,
                                                                                                  java.util.ArrayList<TaxRuleModel> model)
        Create a new tax rule Create one or more custom tax rules attached to this company. A tax rule represents a rule that changes the default AvaTax behavior for a product or jurisdiction. Custom tax rules can be used to change the taxability of an item, to change the tax base of an item, or to change the tax rate charged when selling an item. Tax rules can also change tax behavior depending on the `entityUseCode` value submitted with the transaction. You can create custom tax rules to customize the behavior of AvaTax to match specific rules that are custom to your business. If you have obtained a ruling from a tax auditor that requires custom tax calculations, you can use custom tax rules to redefine the behavior for your company or item. Please use custom tax rules carefully and ensure that these tax rules match the behavior agreed upon with your auditor, legal representative, and accounting team. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this tax rule.
        model - The tax rule you wish to create.
        Returns:
        ArrayList
      • deleteTaxRule

        public java.util.ArrayList<ErrorDetail> deleteTaxRule​(java.lang.Integer companyId,
                                                              java.lang.Integer id)
                                                       throws java.lang.Exception
        Delete a single tax rule Mark the custom tax rule identified by this URL as deleted. A tax rule represents a rule that changes the default AvaTax behavior for a product or jurisdiction. Custom tax rules can be used to change the taxability of an item, to change the tax base of an item, or to change the tax rate charged when selling an item. Tax rules can also change tax behavior depending on the `entityUseCode` value submitted with the transaction. You can create custom tax rules to customize the behavior of AvaTax to match specific rules that are custom to your business. If you have obtained a ruling from a tax auditor that requires custom tax calculations, you can use custom tax rules to redefine the behavior for your company or item. Please use custom tax rules carefully and ensure that these tax rules match the behavior agreed upon with your auditor, legal representative, and accounting team. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this tax rule.
        id - The ID of the tax rule you wish to delete.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteTaxRuleAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteTaxRuleAsync​(java.lang.Integer companyId,
                                                                                                java.lang.Integer id)
        Delete a single tax rule Mark the custom tax rule identified by this URL as deleted. A tax rule represents a rule that changes the default AvaTax behavior for a product or jurisdiction. Custom tax rules can be used to change the taxability of an item, to change the tax base of an item, or to change the tax rate charged when selling an item. Tax rules can also change tax behavior depending on the `entityUseCode` value submitted with the transaction. You can create custom tax rules to customize the behavior of AvaTax to match specific rules that are custom to your business. If you have obtained a ruling from a tax auditor that requires custom tax calculations, you can use custom tax rules to redefine the behavior for your company or item. Please use custom tax rules carefully and ensure that these tax rules match the behavior agreed upon with your auditor, legal representative, and accounting team. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that owns this tax rule.
        id - The ID of the tax rule you wish to delete.
        Returns:
        ArrayList
      • getTaxRule

        public TaxRuleModel getTaxRule​(java.lang.Integer companyId,
                                       java.lang.Integer id)
                                throws java.lang.Exception
        Retrieve a single tax rule Get the taxrule object identified by this URL. A tax rule represents a rule that changes the default AvaTax behavior for a product or jurisdiction. Custom tax rules can be used to change the taxability of an item, to change the tax base of an item, or to change the tax rate charged when selling an item. Tax rules can also change tax behavior depending on the `entityUseCode` value submitted with the transaction. You can create custom tax rules to customize the behavior of AvaTax to match specific rules that are custom to your business. If you have obtained a ruling from a tax auditor that requires custom tax calculations, you can use custom tax rules to redefine the behavior for your company or item. Please use custom tax rules carefully and ensure that these tax rules match the behavior agreed upon with your auditor, legal representative, and accounting team. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns this tax rule
        id - The primary key of this tax rule
        Returns:
        TaxRuleModel
        Throws:
        java.lang.Exception
      • getTaxRuleAsync

        public java.util.concurrent.Future<TaxRuleModel> getTaxRuleAsync​(java.lang.Integer companyId,
                                                                         java.lang.Integer id)
        Retrieve a single tax rule Get the taxrule object identified by this URL. A tax rule represents a rule that changes the default AvaTax behavior for a product or jurisdiction. Custom tax rules can be used to change the taxability of an item, to change the tax base of an item, or to change the tax rate charged when selling an item. Tax rules can also change tax behavior depending on the `entityUseCode` value submitted with the transaction. You can create custom tax rules to customize the behavior of AvaTax to match specific rules that are custom to your business. If you have obtained a ruling from a tax auditor that requires custom tax calculations, you can use custom tax rules to redefine the behavior for your company or item. Please use custom tax rules carefully and ensure that these tax rules match the behavior agreed upon with your auditor, legal representative, and accounting team. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns this tax rule
        id - The primary key of this tax rule
        Returns:
        TaxRuleModel
      • listTaxRules

        public FetchResult<TaxRuleModel> listTaxRules​(java.lang.Integer companyId,
                                                      java.lang.String filter,
                                                      java.lang.String include,
                                                      java.lang.Integer top,
                                                      java.lang.Integer skip,
                                                      java.lang.String orderBy)
                                               throws java.lang.Exception
        Retrieve tax rules for this company List all taxrule objects attached to this company. A tax rule represents a rule that changes the default AvaTax behavior for a product or jurisdiction. Custom tax rules can be used to change the taxability of an item, to change the tax base of an item, or to change the tax rate charged when selling an item. Tax rules can also change tax behavior depending on the `entityUseCode` value submitted with the transaction. You can create custom tax rules to customize the behavior of AvaTax to match specific rules that are custom to your business. If you have obtained a ruling from a tax auditor that requires custom tax calculations, you can use custom tax rules to redefine the behavior for your company or item. Please use custom tax rules carefully and ensure that these tax rules match the behavior agreed upon with your auditor, legal representative, and accounting team. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns these tax rules
        filter - 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/).
        *Not filterable:* taxCode, rateTypeCode, taxTypeGroup, taxSubType
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listTaxRulesAsync

        public java.util.concurrent.Future<FetchResult<TaxRuleModel>> listTaxRulesAsync​(java.lang.Integer companyId,
                                                                                        java.lang.String filter,
                                                                                        java.lang.String include,
                                                                                        java.lang.Integer top,
                                                                                        java.lang.Integer skip,
                                                                                        java.lang.String orderBy)
        Retrieve tax rules for this company List all taxrule objects attached to this company. A tax rule represents a rule that changes the default AvaTax behavior for a product or jurisdiction. Custom tax rules can be used to change the taxability of an item, to change the tax base of an item, or to change the tax rate charged when selling an item. Tax rules can also change tax behavior depending on the `entityUseCode` value submitted with the transaction. You can create custom tax rules to customize the behavior of AvaTax to match specific rules that are custom to your business. If you have obtained a ruling from a tax auditor that requires custom tax calculations, you can use custom tax rules to redefine the behavior for your company or item. Please use custom tax rules carefully and ensure that these tax rules match the behavior agreed upon with your auditor, legal representative, and accounting team. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        companyId - The ID of the company that owns these tax rules
        filter - 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/).
        *Not filterable:* taxCode, rateTypeCode, taxTypeGroup, taxSubType
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • queryTaxRules

        public FetchResult<TaxRuleModel> queryTaxRules​(java.lang.String filter,
                                                       java.lang.String include,
                                                       java.lang.Integer top,
                                                       java.lang.Integer skip,
                                                       java.lang.String orderBy)
                                                throws java.lang.Exception
        Retrieve all tax rules Get multiple taxrule objects across all companies. A tax rule represents a rule that changes the default AvaTax behavior for a product or jurisdiction. Custom tax rules can be used to change the taxability of an item, to change the tax base of an item, or to change the tax rate charged when selling an item. Tax rules can also change tax behavior depending on the `entityUseCode` value submitted with the transaction. You can create custom tax rules to customize the behavior of AvaTax to match specific rules that are custom to your business. If you have obtained a ruling from a tax auditor that requires custom tax calculations, you can use custom tax rules to redefine the behavior for your company or item. Please use custom tax rules carefully and ensure that these tax rules match the behavior agreed upon with your auditor, legal representative, and accounting team. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        filter - 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/).
        *Not filterable:* taxCode, rateTypeCode, taxTypeGroup, taxSubType
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • queryTaxRulesAsync

        public java.util.concurrent.Future<FetchResult<TaxRuleModel>> queryTaxRulesAsync​(java.lang.String filter,
                                                                                         java.lang.String include,
                                                                                         java.lang.Integer top,
                                                                                         java.lang.Integer skip,
                                                                                         java.lang.String orderBy)
        Retrieve all tax rules Get multiple taxrule objects across all companies. A tax rule represents a rule that changes the default AvaTax behavior for a product or jurisdiction. Custom tax rules can be used to change the taxability of an item, to change the tax base of an item, or to change the tax rate charged when selling an item. Tax rules can also change tax behavior depending on the `entityUseCode` value submitted with the transaction. You can create custom tax rules to customize the behavior of AvaTax to match specific rules that are custom to your business. If you have obtained a ruling from a tax auditor that requires custom tax calculations, you can use custom tax rules to redefine the behavior for your company or item. Please use custom tax rules carefully and ensure that these tax rules match the behavior agreed upon with your auditor, legal representative, and accounting team. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
        Parameters:
        filter - 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/).
        *Not filterable:* taxCode, rateTypeCode, taxTypeGroup, taxSubType
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • updateTaxRule

        public TaxRuleModel updateTaxRule​(java.lang.Integer companyId,
                                          java.lang.Integer id,
                                          TaxRuleModel model)
                                   throws java.lang.Exception
        Update a single tax rule Replace the existing custom tax rule object at this URL with an updated object. A tax rule represents a rule that changes the default AvaTax behavior for a product or jurisdiction. Custom tax rules can be used to change the taxability of an item, to change the tax base of an item, or to change the tax rate charged when selling an item. Tax rules can also change tax behavior depending on the `entityUseCode` value submitted with the transaction. You can create custom tax rules to customize the behavior of AvaTax to match specific rules that are custom to your business. If you have obtained a ruling from a tax auditor that requires custom tax calculations, you can use custom tax rules to redefine the behavior for your company or item. Please use custom tax rules carefully and ensure that these tax rules match the behavior agreed upon with your auditor, legal representative, and accounting team. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that this tax rule belongs to.
        id - The ID of the tax rule you wish to update
        model - The tax rule you wish to update.
        Returns:
        TaxRuleModel
        Throws:
        java.lang.Exception
      • updateTaxRuleAsync

        public java.util.concurrent.Future<TaxRuleModel> updateTaxRuleAsync​(java.lang.Integer companyId,
                                                                            java.lang.Integer id,
                                                                            TaxRuleModel model)
        Update a single tax rule Replace the existing custom tax rule object at this URL with an updated object. A tax rule represents a rule that changes the default AvaTax behavior for a product or jurisdiction. Custom tax rules can be used to change the taxability of an item, to change the tax base of an item, or to change the tax rate charged when selling an item. Tax rules can also change tax behavior depending on the `entityUseCode` value submitted with the transaction. You can create custom tax rules to customize the behavior of AvaTax to match specific rules that are custom to your business. If you have obtained a ruling from a tax auditor that requires custom tax calculations, you can use custom tax rules to redefine the behavior for your company or item. Please use custom tax rules carefully and ensure that these tax rules match the behavior agreed upon with your auditor, legal representative, and accounting team. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyId - The ID of the company that this tax rule belongs to.
        id - The ID of the tax rule you wish to update
        model - The tax rule you wish to update.
        Returns:
        TaxRuleModel
      • addLines

        public TransactionModel addLines​(java.lang.String include,
                                         AddTransactionLineModel model)
                                  throws java.lang.Exception
        Add lines to an existing unlocked transaction Add lines to an existing unlocked transaction. The `AddLines` API allows you to add additional transaction lines to existing transaction, so that customer will be able to append multiple calls together and form an extremely large transaction. If customer does not specify line number in the lines to be added, a new random Guid string will be generated for line number. If customer are not satisfied with the line number for the transaction lines, they can turn on the renumber switch to have REST v2 automatically renumber all transaction lines for them, in this case, the line number becomes: "1", "2", "3", ... A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) If you omit the `$include` parameter, the API will assume you want `Summary,Addresses`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        include - Specifies objects to include in the response after transaction is created
        model - information about the transaction and lines to be added
        Returns:
        TransactionModel
        Throws:
        java.lang.Exception
      • addLinesAsync

        public java.util.concurrent.Future<TransactionModel> addLinesAsync​(java.lang.String include,
                                                                           AddTransactionLineModel model)
        Add lines to an existing unlocked transaction Add lines to an existing unlocked transaction. The `AddLines` API allows you to add additional transaction lines to existing transaction, so that customer will be able to append multiple calls together and form an extremely large transaction. If customer does not specify line number in the lines to be added, a new random Guid string will be generated for line number. If customer are not satisfied with the line number for the transaction lines, they can turn on the renumber switch to have REST v2 automatically renumber all transaction lines for them, in this case, the line number becomes: "1", "2", "3", ... A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) If you omit the `$include` parameter, the API will assume you want `Summary,Addresses`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        include - Specifies objects to include in the response after transaction is created
        model - information about the transaction and lines to be added
        Returns:
        TransactionModel
      • adjustTransaction

        public TransactionModel adjustTransaction​(java.lang.String companyCode,
                                                  java.lang.String transactionCode,
                                                  DocumentType documentType,
                                                  java.lang.String include,
                                                  AdjustTransactionModel model)
                                           throws java.lang.Exception
        Correct a previously created transaction Replaces the current transaction uniquely identified by this URL with a new transaction. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). When you adjust a committed transaction, the original transaction will be updated with the status code `Adjusted`, and both revisions will be available for retrieval based on their code and ID numbers. Only transactions in `Committed` status are reported by Avalara Managed Returns. Transactions that have been previously reported to a tax authority by Avalara Managed Returns are considered `locked` and are no longer available for adjustments. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        transactionCode - The transaction code to adjust
        documentType - (Optional): The document type of the transaction to adjust. (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        model - The adjustment you wish to make
        Returns:
        TransactionModel
        Throws:
        java.lang.Exception
      • adjustTransactionAsync

        public java.util.concurrent.Future<TransactionModel> adjustTransactionAsync​(java.lang.String companyCode,
                                                                                    java.lang.String transactionCode,
                                                                                    DocumentType documentType,
                                                                                    java.lang.String include,
                                                                                    AdjustTransactionModel model)
        Correct a previously created transaction Replaces the current transaction uniquely identified by this URL with a new transaction. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). When you adjust a committed transaction, the original transaction will be updated with the status code `Adjusted`, and both revisions will be available for retrieval based on their code and ID numbers. Only transactions in `Committed` status are reported by Avalara Managed Returns. Transactions that have been previously reported to a tax authority by Avalara Managed Returns are considered `locked` and are no longer available for adjustments. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        transactionCode - The transaction code to adjust
        documentType - (Optional): The document type of the transaction to adjust. (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        model - The adjustment you wish to make
        Returns:
        TransactionModel
      • auditTransaction

        public AuditTransactionModel auditTransaction​(java.lang.String companyCode,
                                                      java.lang.String transactionCode)
                                               throws java.lang.Exception
        Get audit information about a transaction Retrieve audit information about a transaction stored in AvaTax. The `AuditTransaction` API retrieves audit information related to a specific transaction. This audit information includes the following: * The `CompanyId` of the company that created the transaction * The server timestamp representing the exact server time when the transaction was created * The server duration - how long it took to process this transaction * Whether exact API call details were logged * A reconstructed API call showing what the original CreateTransaction call looked like This API can be used to examine information about a previously created transaction. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The code identifying the company that owns this transaction
        transactionCode - The code identifying the transaction
        Returns:
        AuditTransactionModel
        Throws:
        java.lang.Exception
      • auditTransactionAsync

        public java.util.concurrent.Future<AuditTransactionModel> auditTransactionAsync​(java.lang.String companyCode,
                                                                                        java.lang.String transactionCode)
        Get audit information about a transaction Retrieve audit information about a transaction stored in AvaTax. The `AuditTransaction` API retrieves audit information related to a specific transaction. This audit information includes the following: * The `CompanyId` of the company that created the transaction * The server timestamp representing the exact server time when the transaction was created * The server duration - how long it took to process this transaction * Whether exact API call details were logged * A reconstructed API call showing what the original CreateTransaction call looked like This API can be used to examine information about a previously created transaction. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The code identifying the company that owns this transaction
        transactionCode - The code identifying the transaction
        Returns:
        AuditTransactionModel
      • auditTransactionWithType

        public AuditTransactionModel auditTransactionWithType​(java.lang.String companyCode,
                                                              java.lang.String transactionCode,
                                                              DocumentType documentType)
                                                       throws java.lang.Exception
        Get audit information about a transaction Retrieve audit information about a transaction stored in AvaTax. The `AuditTransaction` API retrieves audit information related to a specific transaction. This audit information includes the following: * The `CompanyId` of the company that created the transaction * The server timestamp representing the exact server time when the transaction was created * The server duration - how long it took to process this transaction * Whether exact API call details were logged * A reconstructed API call showing what the original CreateTransaction call looked like This API can be used to examine information about a previously created transaction. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The code identifying the company that owns this transaction
        transactionCode - The code identifying the transaction
        documentType - The document type of the original transaction (See DocumentType::* for a list of allowable values)
        Returns:
        AuditTransactionModel
        Throws:
        java.lang.Exception
      • auditTransactionWithTypeAsync

        public java.util.concurrent.Future<AuditTransactionModel> auditTransactionWithTypeAsync​(java.lang.String companyCode,
                                                                                                java.lang.String transactionCode,
                                                                                                DocumentType documentType)
        Get audit information about a transaction Retrieve audit information about a transaction stored in AvaTax. The `AuditTransaction` API retrieves audit information related to a specific transaction. This audit information includes the following: * The `CompanyId` of the company that created the transaction * The server timestamp representing the exact server time when the transaction was created * The server duration - how long it took to process this transaction * Whether exact API call details were logged * A reconstructed API call showing what the original CreateTransaction call looked like This API can be used to examine information about a previously created transaction. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The code identifying the company that owns this transaction
        transactionCode - The code identifying the transaction
        documentType - The document type of the original transaction (See DocumentType::* for a list of allowable values)
        Returns:
        AuditTransactionModel
      • bulkLockTransaction

        public BulkLockTransactionResult bulkLockTransaction​(BulkLockTransactionModel model)
                                                      throws java.lang.Exception
        Lock a set of documents This API is available by invitation only. Lock a set of transactions uniquely identified by DocumentIds provided. This API allows locking multiple documents at once. After this API call succeeds, documents will be locked and can't be voided. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). ### Security Policies * This API requires the user role Compliance Root User. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        model - bulk lock request
        Returns:
        BulkLockTransactionResult
        Throws:
        java.lang.Exception
      • bulkLockTransactionAsync

        public java.util.concurrent.Future<BulkLockTransactionResult> bulkLockTransactionAsync​(BulkLockTransactionModel model)
        Lock a set of documents This API is available by invitation only. Lock a set of transactions uniquely identified by DocumentIds provided. This API allows locking multiple documents at once. After this API call succeeds, documents will be locked and can't be voided. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). ### Security Policies * This API requires the user role Compliance Root User. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        model - bulk lock request
        Returns:
        BulkLockTransactionResult
      • changeTransactionCode

        public TransactionModel changeTransactionCode​(java.lang.String companyCode,
                                                      java.lang.String transactionCode,
                                                      DocumentType documentType,
                                                      java.lang.String include,
                                                      ChangeTransactionCodeModel model)
                                               throws java.lang.Exception
        Change a transaction's code Renames a transaction uniquely identified by this URL by changing its `code` value. This API is available as long as the transaction is in `saved` or `posted` status. When a transaction is `committed`, it can be modified by using the [AdjustTransaction](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/AdjustTransaction/) method. After this API call succeeds, the transaction will have a new URL matching its new `code`. If you have more than one document with the same `code`, specify the `documentType` parameter to choose between them. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, ProStoresOperator, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        transactionCode - The transaction code to change
        documentType - (Optional): The document type of the transaction to change document code. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        model - The code change request you wish to execute
        Returns:
        TransactionModel
        Throws:
        java.lang.Exception
      • changeTransactionCodeAsync

        public java.util.concurrent.Future<TransactionModel> changeTransactionCodeAsync​(java.lang.String companyCode,
                                                                                        java.lang.String transactionCode,
                                                                                        DocumentType documentType,
                                                                                        java.lang.String include,
                                                                                        ChangeTransactionCodeModel model)
        Change a transaction's code Renames a transaction uniquely identified by this URL by changing its `code` value. This API is available as long as the transaction is in `saved` or `posted` status. When a transaction is `committed`, it can be modified by using the [AdjustTransaction](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/AdjustTransaction/) method. After this API call succeeds, the transaction will have a new URL matching its new `code`. If you have more than one document with the same `code`, specify the `documentType` parameter to choose between them. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, ProStoresOperator, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        transactionCode - The transaction code to change
        documentType - (Optional): The document type of the transaction to change document code. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        model - The code change request you wish to execute
        Returns:
        TransactionModel
      • commitTransaction

        public TransactionModel commitTransaction​(java.lang.String companyCode,
                                                  java.lang.String transactionCode,
                                                  DocumentType documentType,
                                                  java.lang.String include,
                                                  CommitTransactionModel model)
                                           throws java.lang.Exception
        Commit a transaction for reporting Marks a transaction by changing its status to `Committed`. Transactions that are committed are available to be reported to a tax authority by Avalara Managed Returns. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). If you have more than one document with the same `code`, specify the `documentType` parameter to choose between them. Any changes made to a committed transaction will generate a transaction history. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, ProStoresOperator, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        transactionCode - The transaction code to commit
        documentType - (Optional): The document type of the transaction to commit. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        model - The commit request you wish to execute
        Returns:
        TransactionModel
        Throws:
        java.lang.Exception
      • commitTransactionAsync

        public java.util.concurrent.Future<TransactionModel> commitTransactionAsync​(java.lang.String companyCode,
                                                                                    java.lang.String transactionCode,
                                                                                    DocumentType documentType,
                                                                                    java.lang.String include,
                                                                                    CommitTransactionModel model)
        Commit a transaction for reporting Marks a transaction by changing its status to `Committed`. Transactions that are committed are available to be reported to a tax authority by Avalara Managed Returns. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). If you have more than one document with the same `code`, specify the `documentType` parameter to choose between them. Any changes made to a committed transaction will generate a transaction history. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, ProStoresOperator, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        transactionCode - The transaction code to commit
        documentType - (Optional): The document type of the transaction to commit. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        model - The commit request you wish to execute
        Returns:
        TransactionModel
      • createOrAdjustTransaction

        public TransactionModel createOrAdjustTransaction​(java.lang.String include,
                                                          CreateOrAdjustTransactionModel model)
                                                   throws java.lang.Exception
        Create or adjust a transaction Records a new transaction or adjust an existing transaction in AvaTax. The `CreateOrAdjustTransaction` endpoint is used to create a new transaction or update an existing one. This API can help you create an idempotent service that creates transactions If there exists a transaction identified by code, the original transaction will be adjusted by using the meta data in the input transaction. The `CreateOrAdjustTransaction` API cannot modify any transaction that has been reported to a tax authority using the Avalara Managed Returns Service or any other tax filing service. If you call this API to attempt to modify a transaction that has been reported on a tax filing, you will receive the error `CannotModifyLockedTransaction`. To generate a refund for a transaction, use the `RefundTransaction` API. If you don't specify the field `type` in your request, you will get an estimate of type `SalesOrder`, which will not be recorded in the database. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * ForceTimeout - Simulates a timeout. This adds a 30 second delay and error to your API call. This can be used to test your code to ensure it can respond correctly in the case of a dropped connection. If you omit the `$include` parameter, the API will assume you want `Summary,Addresses`. NOTE: Avoid using the following strings in your transaction codes as they are encoding strings and will be interpreted differently: * \_-ava2f-\_ * \_-ava2b-\_ * \_-ava3f-\_ ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        include - Specifies objects to include in the response after transaction is created
        model - The transaction you wish to create or adjust
        Returns:
        TransactionModel
        Throws:
        java.lang.Exception
      • createOrAdjustTransactionAsync

        public java.util.concurrent.Future<TransactionModel> createOrAdjustTransactionAsync​(java.lang.String include,
                                                                                            CreateOrAdjustTransactionModel model)
        Create or adjust a transaction Records a new transaction or adjust an existing transaction in AvaTax. The `CreateOrAdjustTransaction` endpoint is used to create a new transaction or update an existing one. This API can help you create an idempotent service that creates transactions If there exists a transaction identified by code, the original transaction will be adjusted by using the meta data in the input transaction. The `CreateOrAdjustTransaction` API cannot modify any transaction that has been reported to a tax authority using the Avalara Managed Returns Service or any other tax filing service. If you call this API to attempt to modify a transaction that has been reported on a tax filing, you will receive the error `CannotModifyLockedTransaction`. To generate a refund for a transaction, use the `RefundTransaction` API. If you don't specify the field `type` in your request, you will get an estimate of type `SalesOrder`, which will not be recorded in the database. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * ForceTimeout - Simulates a timeout. This adds a 30 second delay and error to your API call. This can be used to test your code to ensure it can respond correctly in the case of a dropped connection. If you omit the `$include` parameter, the API will assume you want `Summary,Addresses`. NOTE: Avoid using the following strings in your transaction codes as they are encoding strings and will be interpreted differently: * \_-ava2f-\_ * \_-ava2b-\_ * \_-ava3f-\_ ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        include - Specifies objects to include in the response after transaction is created
        model - The transaction you wish to create or adjust
        Returns:
        TransactionModel
      • createTransaction

        public TransactionModel createTransaction​(java.lang.String include,
                                                  CreateTransactionModel model)
                                           throws java.lang.Exception
        Create a new transaction Records a new transaction in AvaTax. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). The `CreateTransaction` endpoint uses the tax profile of your company to identify the correct tax rules and rates to apply to all line items in this transaction. The end result will be the total tax calculated by AvaTax based on your company's configuration and the data provided in this API call. The `CreateTransaction` API will report an error if a committed transaction already exists with the same `code`. To avoid this error, use the `CreateOrAdjustTransaction` API - it will create the transaction if it does not exist, or update it if it does exist. To generate a refund for a transaction, use the `RefundTransaction` API. The field `type` identifies the kind of transaction - for example, a sale, purchase, or refund. If you do not specify a `type` value, you will receive an estimate of type `SalesOrder`, which will not be recorded. The origin and destination locations for a transaction must be identified by either address or geocode. For address-based transactions, please provide addresses in the fields `line`, `city`, `region`, `country` and `postalCode`. For geocode-based transactions, please provide the geocode information in the fields `latitude` and `longitude`. If either `latitude` or `longitude` or both are null, the transaction will be calculated using the best available address location information. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * ForceTimeout - Simulates a timeout. This adds a 30 second delay and error to your API call. This can be used to test your code to ensure it can respond correctly in the case of a dropped connection. * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. If you omit the `$include` parameter, the API will assume you want `Summary,Addresses`. NOTE: Avoid using the following strings in your transaction codes as they are encoding strings and will be interpreted differently: * \_-ava2f-\_ * \_-ava2b-\_ * \_-ava3f-\_ ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        include - Specifies objects to include in the response after transaction is created
        model - The transaction you wish to create
        Returns:
        TransactionModel
        Throws:
        java.lang.Exception
      • createTransactionAsync

        public java.util.concurrent.Future<TransactionModel> createTransactionAsync​(java.lang.String include,
                                                                                    CreateTransactionModel model)
        Create a new transaction Records a new transaction in AvaTax. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). The `CreateTransaction` endpoint uses the tax profile of your company to identify the correct tax rules and rates to apply to all line items in this transaction. The end result will be the total tax calculated by AvaTax based on your company's configuration and the data provided in this API call. The `CreateTransaction` API will report an error if a committed transaction already exists with the same `code`. To avoid this error, use the `CreateOrAdjustTransaction` API - it will create the transaction if it does not exist, or update it if it does exist. To generate a refund for a transaction, use the `RefundTransaction` API. The field `type` identifies the kind of transaction - for example, a sale, purchase, or refund. If you do not specify a `type` value, you will receive an estimate of type `SalesOrder`, which will not be recorded. The origin and destination locations for a transaction must be identified by either address or geocode. For address-based transactions, please provide addresses in the fields `line`, `city`, `region`, `country` and `postalCode`. For geocode-based transactions, please provide the geocode information in the fields `latitude` and `longitude`. If either `latitude` or `longitude` or both are null, the transaction will be calculated using the best available address location information. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * ForceTimeout - Simulates a timeout. This adds a 30 second delay and error to your API call. This can be used to test your code to ensure it can respond correctly in the case of a dropped connection. * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. If you omit the `$include` parameter, the API will assume you want `Summary,Addresses`. NOTE: Avoid using the following strings in your transaction codes as they are encoding strings and will be interpreted differently: * \_-ava2f-\_ * \_-ava2b-\_ * \_-ava3f-\_ ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        include - Specifies objects to include in the response after transaction is created
        model - The transaction you wish to create
        Returns:
        TransactionModel
      • deleteLines

        public TransactionModel deleteLines​(java.lang.String include,
                                            RemoveTransactionLineModel model)
                                     throws java.lang.Exception
        Remove lines from an existing unlocked transaction Remove lines to an existing unlocked transaction. The `DeleteLines` API allows you to remove transaction lines from existing unlocked transaction, so that customer will be able to delete transaction lines and adjust original transaction the way they like A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) If you omit the `$include` parameter, the API will assume you want `Summary,Addresses`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        include - Specifies objects to include in the response after transaction is created
        model - information about the transaction and lines to be removed
        Returns:
        TransactionModel
        Throws:
        java.lang.Exception
      • deleteLinesAsync

        public java.util.concurrent.Future<TransactionModel> deleteLinesAsync​(java.lang.String include,
                                                                              RemoveTransactionLineModel model)
        Remove lines from an existing unlocked transaction Remove lines to an existing unlocked transaction. The `DeleteLines` API allows you to remove transaction lines from existing unlocked transaction, so that customer will be able to delete transaction lines and adjust original transaction the way they like A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) If you omit the `$include` parameter, the API will assume you want `Summary,Addresses`. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        include - Specifies objects to include in the response after transaction is created
        model - information about the transaction and lines to be removed
        Returns:
        TransactionModel
      • getTransactionByCode

        public TransactionModel getTransactionByCode​(java.lang.String companyCode,
                                                     java.lang.String transactionCode,
                                                     DocumentType documentType,
                                                     java.lang.String include)
                                              throws java.lang.Exception
        Retrieve a single transaction by code Get the current transaction identified by this company code, transaction code, and document type. A transaction is uniquely identified by `companyCode`, `code` (often called Transaction Code), and `documentType`. For compatibility purposes, when this API finds multiple transactions with the same transaction code, and if you have not specified the `type` parameter to this API, it will default to selecting the `SalesInvoices` transaction. To change this behavior, use the optional `documentType` parameter to specify the specific document type you wish to find. If this transaction was adjusted, the return value of this API will be the current transaction with this code. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        transactionCode - The transaction code to retrieve
        documentType - (Optional): The document type of the transaction to retrieve (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        Returns:
        TransactionModel
        Throws:
        java.lang.Exception
      • getTransactionByCodeAsync

        public java.util.concurrent.Future<TransactionModel> getTransactionByCodeAsync​(java.lang.String companyCode,
                                                                                       java.lang.String transactionCode,
                                                                                       DocumentType documentType,
                                                                                       java.lang.String include)
        Retrieve a single transaction by code Get the current transaction identified by this company code, transaction code, and document type. A transaction is uniquely identified by `companyCode`, `code` (often called Transaction Code), and `documentType`. For compatibility purposes, when this API finds multiple transactions with the same transaction code, and if you have not specified the `type` parameter to this API, it will default to selecting the `SalesInvoices` transaction. To change this behavior, use the optional `documentType` parameter to specify the specific document type you wish to find. If this transaction was adjusted, the return value of this API will be the current transaction with this code. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        transactionCode - The transaction code to retrieve
        documentType - (Optional): The document type of the transaction to retrieve (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        Returns:
        TransactionModel
      • getTransactionByCodeAndType

        public TransactionModel getTransactionByCodeAndType​(java.lang.String companyCode,
                                                            java.lang.String transactionCode,
                                                            DocumentType documentType,
                                                            java.lang.String include)
                                                     throws java.lang.Exception
        Retrieve a single transaction by code DEPRECATED: Please use the `GetTransactionByCode` API instead. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        transactionCode - The transaction code to retrieve
        documentType - The transaction type to retrieve (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        Returns:
        TransactionModel
        Throws:
        java.lang.Exception
      • getTransactionByCodeAndTypeAsync

        public java.util.concurrent.Future<TransactionModel> getTransactionByCodeAndTypeAsync​(java.lang.String companyCode,
                                                                                              java.lang.String transactionCode,
                                                                                              DocumentType documentType,
                                                                                              java.lang.String include)
        Retrieve a single transaction by code DEPRECATED: Please use the `GetTransactionByCode` API instead. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        transactionCode - The transaction code to retrieve
        documentType - The transaction type to retrieve (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        Returns:
        TransactionModel
      • getTransactionById

        public TransactionModel getTransactionById​(java.lang.Long id,
                                                   java.lang.String include)
                                            throws java.lang.Exception
        Retrieve a single transaction by ID Get the unique transaction identified by this URL. This endpoint retrieves the exact transaction identified by this ID number even if that transaction was later adjusted by using the `AdjustTransaction` endpoint. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        id - The unique ID number of the transaction to retrieve
        include - Specifies objects to include in this fetch call
        Returns:
        TransactionModel
        Throws:
        java.lang.Exception
      • getTransactionByIdAsync

        public java.util.concurrent.Future<TransactionModel> getTransactionByIdAsync​(java.lang.Long id,
                                                                                     java.lang.String include)
        Retrieve a single transaction by ID Get the unique transaction identified by this URL. This endpoint retrieves the exact transaction identified by this ID number even if that transaction was later adjusted by using the `AdjustTransaction` endpoint. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        id - The unique ID number of the transaction to retrieve
        include - Specifies objects to include in this fetch call
        Returns:
        TransactionModel
      • listTransactionsByCompany

        public FetchResult<TransactionModel> listTransactionsByCompany​(java.lang.String companyCode,
                                                                       java.lang.Integer dataSourceId,
                                                                       java.lang.String include,
                                                                       java.lang.String filter,
                                                                       java.lang.Integer top,
                                                                       java.lang.Integer skip,
                                                                       java.lang.String orderBy)
                                                                throws java.lang.Exception
        Retrieve all transactions List all transactions attached to this company. This endpoint is limited to returning 1,000 transactions at a time maximum. When listing transactions, you must specify a `date` range filter. If you do not specify a `$filter` that includes a `date` field criteria, the query will default to looking at only those transactions with `date` in the past 30 days. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        dataSourceId - Optionally filter transactions to those from a specific data source.
        include - Specifies objects to include in this fetch call
        filter - 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/).
        *Not filterable:* exchangeRateCurrencyCode, totalDiscount, lines, addresses, locationTypes, summary, taxDetailsByTaxType, parameters, messages, invoiceMessages, isFakeTransaction
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listTransactionsByCompanyAsync

        public java.util.concurrent.Future<FetchResult<TransactionModel>> listTransactionsByCompanyAsync​(java.lang.String companyCode,
                                                                                                         java.lang.Integer dataSourceId,
                                                                                                         java.lang.String include,
                                                                                                         java.lang.String filter,
                                                                                                         java.lang.Integer top,
                                                                                                         java.lang.Integer skip,
                                                                                                         java.lang.String orderBy)
        Retrieve all transactions List all transactions attached to this company. This endpoint is limited to returning 1,000 transactions at a time maximum. When listing transactions, you must specify a `date` range filter. If you do not specify a `$filter` that includes a `date` field criteria, the query will default to looking at only those transactions with `date` in the past 30 days. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        dataSourceId - Optionally filter transactions to those from a specific data source.
        include - Specifies objects to include in this fetch call
        filter - 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/).
        *Not filterable:* exchangeRateCurrencyCode, totalDiscount, lines, addresses, locationTypes, summary, taxDetailsByTaxType, parameters, messages, invoiceMessages, isFakeTransaction
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • lockTransaction

        public TransactionModel lockTransaction​(java.lang.String companyCode,
                                                java.lang.String transactionCode,
                                                DocumentType documentType,
                                                java.lang.String include,
                                                LockTransactionModel model)
                                         throws java.lang.Exception
        Lock a single transaction Lock a transaction uniquely identified by this URL. This API is mainly used for connector developers to simulate what happens when the Returns product locks a document. After this API call succeeds, the document will be locked and can't be voided or adjusted. This API is only available to customers in Sandbox with AvaTaxPro subscription. On production servers, this API is available by invitation only. If you have more than one document with the same `code`, specify the `documentType` parameter to choose between them. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        transactionCode - The transaction code to lock
        documentType - (Optional): The document type of the transaction to lock. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        model - The lock request you wish to execute
        Returns:
        TransactionModel
        Throws:
        java.lang.Exception
      • lockTransactionAsync

        public java.util.concurrent.Future<TransactionModel> lockTransactionAsync​(java.lang.String companyCode,
                                                                                  java.lang.String transactionCode,
                                                                                  DocumentType documentType,
                                                                                  java.lang.String include,
                                                                                  LockTransactionModel model)
        Lock a single transaction Lock a transaction uniquely identified by this URL. This API is mainly used for connector developers to simulate what happens when the Returns product locks a document. After this API call succeeds, the document will be locked and can't be voided or adjusted. This API is only available to customers in Sandbox with AvaTaxPro subscription. On production servers, this API is available by invitation only. If you have more than one document with the same `code`, specify the `documentType` parameter to choose between them. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        transactionCode - The transaction code to lock
        documentType - (Optional): The document type of the transaction to lock. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        model - The lock request you wish to execute
        Returns:
        TransactionModel
      • refundTransaction

        public TransactionModel refundTransaction​(java.lang.String companyCode,
                                                  java.lang.String transactionCode,
                                                  java.lang.String include,
                                                  DocumentType documentType,
                                                  java.lang.Boolean useTaxDateOverride,
                                                  RefundTransactionModel model)
                                           throws java.lang.Exception
        Create a refund for a transaction Create a refund for a transaction. The `RefundTransaction` API allows you to quickly and easily create a `ReturnInvoice` representing a refund for a previously created `SalesInvoice` transaction. You can choose to create a full or partial refund, and specify individual line items from the original sale for refund. The `RefundTransaction` API ensures that the tax amount you refund to the customer exactly matches the tax that was calculated during the original transaction, regardless of any changes to your company's configuration, rules, nexus, or any other setting. This API is intended to be a shortcut to allow you to quickly and accurately generate a refund for the following common refund scenarios: * A full refund of a previous sale * Refunding the tax that was charged on a previous sale, when the customer provides an exemption certificate after the purchase * Refunding one or more items (lines) from a previous sale * Granting a customer a percentage refund of a previous sale For more complex scenarios than the ones above, please use `CreateTransaction` with document type `ReturnInvoice` to create a custom refund transaction. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. If you omit the `$include` parameter, the API will assume you want `Summary,Addresses`. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The code of the company that made the original sale
        transactionCode - The transaction code of the original sale
        include - Specifies objects to include in the response after transaction is created
        documentType - (Optional): The document type of the transaction to refund. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
        useTaxDateOverride - (Optional): If set to true, processes refund using taxDateOverride rather than taxAmountOverride (Note: taxAmountOverride is not allowed for SST states).
        model - Information about the refund to create
        Returns:
        TransactionModel
        Throws:
        java.lang.Exception
      • refundTransactionAsync

        public java.util.concurrent.Future<TransactionModel> refundTransactionAsync​(java.lang.String companyCode,
                                                                                    java.lang.String transactionCode,
                                                                                    java.lang.String include,
                                                                                    DocumentType documentType,
                                                                                    java.lang.Boolean useTaxDateOverride,
                                                                                    RefundTransactionModel model)
        Create a refund for a transaction Create a refund for a transaction. The `RefundTransaction` API allows you to quickly and easily create a `ReturnInvoice` representing a refund for a previously created `SalesInvoice` transaction. You can choose to create a full or partial refund, and specify individual line items from the original sale for refund. The `RefundTransaction` API ensures that the tax amount you refund to the customer exactly matches the tax that was calculated during the original transaction, regardless of any changes to your company's configuration, rules, nexus, or any other setting. This API is intended to be a shortcut to allow you to quickly and accurately generate a refund for the following common refund scenarios: * A full refund of a previous sale * Refunding the tax that was charged on a previous sale, when the customer provides an exemption certificate after the purchase * Refunding one or more items (lines) from a previous sale * Granting a customer a percentage refund of a previous sale For more complex scenarios than the ones above, please use `CreateTransaction` with document type `ReturnInvoice` to create a custom refund transaction. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. If you omit the `$include` parameter, the API will assume you want `Summary,Addresses`. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The code of the company that made the original sale
        transactionCode - The transaction code of the original sale
        include - Specifies objects to include in the response after transaction is created
        documentType - (Optional): The document type of the transaction to refund. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
        useTaxDateOverride - (Optional): If set to true, processes refund using taxDateOverride rather than taxAmountOverride (Note: taxAmountOverride is not allowed for SST states).
        model - Information about the refund to create
        Returns:
        TransactionModel
      • settleTransaction

        public TransactionModel settleTransaction​(java.lang.String companyCode,
                                                  java.lang.String transactionCode,
                                                  DocumentType documentType,
                                                  java.lang.String include,
                                                  SettleTransactionModel model)
                                           throws java.lang.Exception
        Perform multiple actions on a transaction Performs one or more actions against the current transaction uniquely identified by this URL. The `SettleTransaction` API call can perform the work of `ChangeCode`, `VerifyTransaction`, and `CommitTransaction`. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). If you have more than one document with the same `code`, specify the `documentType` parameter to choose between them. This API is available for users who want to execute more than one action at a time. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, ProStoresOperator, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        transactionCode - The transaction code to settle
        documentType - (Optional): The document type of the transaction to settle. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        model - The data from an external system to reconcile against AvaTax
        Returns:
        TransactionModel
        Throws:
        java.lang.Exception
      • settleTransactionAsync

        public java.util.concurrent.Future<TransactionModel> settleTransactionAsync​(java.lang.String companyCode,
                                                                                    java.lang.String transactionCode,
                                                                                    DocumentType documentType,
                                                                                    java.lang.String include,
                                                                                    SettleTransactionModel model)
        Perform multiple actions on a transaction Performs one or more actions against the current transaction uniquely identified by this URL. The `SettleTransaction` API call can perform the work of `ChangeCode`, `VerifyTransaction`, and `CommitTransaction`. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). If you have more than one document with the same `code`, specify the `documentType` parameter to choose between them. This API is available for users who want to execute more than one action at a time. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, ProStoresOperator, SSTAdmin, TechnicalSupportAdmin.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        transactionCode - The transaction code to settle
        documentType - (Optional): The document type of the transaction to settle. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        model - The data from an external system to reconcile against AvaTax
        Returns:
        TransactionModel
      • uncommitTransaction

        public TransactionModel uncommitTransaction​(java.lang.String companyCode,
                                                    java.lang.String transactionCode,
                                                    DocumentType documentType,
                                                    java.lang.String include)
                                             throws java.lang.Exception
        Uncommit a transaction for reporting Adjusts a transaction by changing it to an uncommitted status. Transactions that have been previously reported to a tax authority by Avalara Managed Returns are considered `locked` and are no longer available to be uncommitted. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        transactionCode - The transaction code to Uncommit
        documentType - (Optional): The document type of the transaction to Uncommit. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        Returns:
        TransactionModel
        Throws:
        java.lang.Exception
      • uncommitTransactionAsync

        public java.util.concurrent.Future<TransactionModel> uncommitTransactionAsync​(java.lang.String companyCode,
                                                                                      java.lang.String transactionCode,
                                                                                      DocumentType documentType,
                                                                                      java.lang.String include)
        Uncommit a transaction for reporting Adjusts a transaction by changing it to an uncommitted status. Transactions that have been previously reported to a tax authority by Avalara Managed Returns are considered `locked` and are no longer available to be uncommitted. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        transactionCode - The transaction code to Uncommit
        documentType - (Optional): The document type of the transaction to Uncommit. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        Returns:
        TransactionModel
      • unvoidTransaction

        public TransactionModel unvoidTransaction​(java.lang.String companyCode,
                                                  java.lang.String transactionCode,
                                                  DocumentType documentType,
                                                  java.lang.String include)
                                           throws java.lang.Exception
        Unvoids a transaction Unvoids a voided transaction 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        transactionCode - The transaction code to commit
        documentType - (Optional): The document type of the transaction to commit. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        Returns:
        TransactionModel
        Throws:
        java.lang.Exception
      • unvoidTransactionAsync

        public java.util.concurrent.Future<TransactionModel> unvoidTransactionAsync​(java.lang.String companyCode,
                                                                                    java.lang.String transactionCode,
                                                                                    DocumentType documentType,
                                                                                    java.lang.String include)
        Unvoids a transaction Unvoids a voided transaction 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        transactionCode - The transaction code to commit
        documentType - (Optional): The document type of the transaction to commit. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        Returns:
        TransactionModel
      • verifyTransaction

        public TransactionModel verifyTransaction​(java.lang.String companyCode,
                                                  java.lang.String transactionCode,
                                                  DocumentType documentType,
                                                  java.lang.String include,
                                                  VerifyTransactionModel model)
                                           throws java.lang.Exception
        Verify a transaction Verifies that the transaction uniquely identified by this URL matches certain expected values. If the transaction does not match these expected values, this API will return an error code indicating which value did not match. If you have more than one document with the same `code`, specify the `documentType` parameter to choose between them. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, ProStoresOperator, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        transactionCode - The transaction code to settle
        documentType - (Optional): The document type of the transaction to verify. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        model - The data from an external system to reconcile against AvaTax
        Returns:
        TransactionModel
        Throws:
        java.lang.Exception
      • verifyTransactionAsync

        public java.util.concurrent.Future<TransactionModel> verifyTransactionAsync​(java.lang.String companyCode,
                                                                                    java.lang.String transactionCode,
                                                                                    DocumentType documentType,
                                                                                    java.lang.String include,
                                                                                    VerifyTransactionModel model)
        Verify a transaction Verifies that the transaction uniquely identified by this URL matches certain expected values. If the transaction does not match these expected values, this API will return an error code indicating which value did not match. If you have more than one document with the same `code`, specify the `documentType` parameter to choose between them. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, ProStoresOperator, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        transactionCode - The transaction code to settle
        documentType - (Optional): The document type of the transaction to verify. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        model - The data from an external system to reconcile against AvaTax
        Returns:
        TransactionModel
      • voidTransaction

        public TransactionModel voidTransaction​(java.lang.String companyCode,
                                                java.lang.String transactionCode,
                                                DocumentType documentType,
                                                java.lang.String include,
                                                VoidTransactionModel model)
                                         throws java.lang.Exception
        Void a transaction Voids the current transaction uniquely identified by this URL. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). When you void a transaction, that transaction's status is recorded as `DocVoided`. If you have more than one document with the same `code`, specify the `documentType` parameter to choose between them. Transactions that have been previously reported to a tax authority by Avalara Managed Returns are no longer available to be voided. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, ProStoresOperator, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        transactionCode - The transaction code to void
        documentType - (Optional): The document type of the transaction to void. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        model - The void request you wish to execute. To void a transaction the code must be set to 'DocVoided'
        Returns:
        TransactionModel
        Throws:
        java.lang.Exception
      • voidTransactionAsync

        public java.util.concurrent.Future<TransactionModel> voidTransactionAsync​(java.lang.String companyCode,
                                                                                  java.lang.String transactionCode,
                                                                                  DocumentType documentType,
                                                                                  java.lang.String include,
                                                                                  VoidTransactionModel model)
        Void a transaction Voids the current transaction uniquely identified by this URL. A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like sales, purchases, inventory transfer, and returns (also called refunds). When you void a transaction, that transaction's status is recorded as `DocVoided`. If you have more than one document with the same `code`, specify the `documentType` parameter to choose between them. Transactions that have been previously reported to a tax authority by Avalara Managed Returns are no longer available to be voided. 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: * Lines * Details (implies lines) * Summary (implies details) * Addresses * SummaryOnly (omit lines and details - reduces API response size) * LinesOnly (omit details - reduces API response size) * TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary. NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request: * Replace '/' with '\_-ava2f-\_' For example: document/Code becomes document_-ava2f-_Code * Replace '+' with '\_-ava2b-\_' For example: document+Code becomes document_-ava2b-_Code * Replace '?' with '\_-ava3f-\_' For example: document?Code becomes document_-ava3f-_Code * Replace '%' with '\_-ava25-\_' For example: document%Code becomes document_-ava25-_Code * Replace '#' with '\_-ava23-\_' For example: document#Code becomes document_-ava23-_Code * Replace ' ' with '%20' For example: document Code becomes document%20Code ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, ProStoresOperator, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
        Parameters:
        companyCode - The company code of the company that recorded this transaction
        transactionCode - The transaction code to void
        documentType - (Optional): The document type of the transaction to void. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
        include - Specifies objects to include in this fetch call
        model - The void request you wish to execute. To void a transaction the code must be set to 'DocVoided'
        Returns:
        TransactionModel
      • createUPCs

        public java.util.ArrayList<UPCModel> createUPCs​(java.lang.Integer companyId,
                                                        java.util.ArrayList<UPCModel> model)
                                                 throws java.lang.Exception
        Create a new UPC Create one or more new UPC objects attached to this company. A UPC represents a single UPC code in your catalog and matches this product to the tax code identified by this UPC. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaUpc.
        Parameters:
        companyId - The ID of the company that owns this UPC.
        model - The UPC you wish to create.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createUPCsAsync

        public java.util.concurrent.Future<java.util.ArrayList<UPCModel>> createUPCsAsync​(java.lang.Integer companyId,
                                                                                          java.util.ArrayList<UPCModel> model)
        Create a new UPC Create one or more new UPC objects attached to this company. A UPC represents a single UPC code in your catalog and matches this product to the tax code identified by this UPC. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaUpc.
        Parameters:
        companyId - The ID of the company that owns this UPC.
        model - The UPC you wish to create.
        Returns:
        ArrayList
      • deleteUPC

        public java.util.ArrayList<ErrorDetail> deleteUPC​(java.lang.Integer companyId,
                                                          java.lang.Integer id)
                                                   throws java.lang.Exception
        Delete a single UPC Marks the UPC object identified by this URL as deleted. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaUpc.
        Parameters:
        companyId - The ID of the company that owns this UPC.
        id - The ID of the UPC you wish to delete.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteUPCAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteUPCAsync​(java.lang.Integer companyId,
                                                                                            java.lang.Integer id)
        Delete a single UPC Marks the UPC object identified by this URL as deleted. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaUpc.
        Parameters:
        companyId - The ID of the company that owns this UPC.
        id - The ID of the UPC you wish to delete.
        Returns:
        ArrayList
      • getUPC

        public UPCModel getUPC​(java.lang.Integer companyId,
                               java.lang.Integer id)
                        throws java.lang.Exception
        Retrieve a single UPC Get the UPC object identified by this URL. A UPC represents a single UPC code in your catalog and matches this product to the tax code identified by this UPC. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaUpc.
        Parameters:
        companyId - The ID of the company that owns this UPC
        id - The primary key of this UPC
        Returns:
        UPCModel
        Throws:
        java.lang.Exception
      • getUPCAsync

        public java.util.concurrent.Future<UPCModel> getUPCAsync​(java.lang.Integer companyId,
                                                                 java.lang.Integer id)
        Retrieve a single UPC Get the UPC object identified by this URL. A UPC represents a single UPC code in your catalog and matches this product to the tax code identified by this UPC. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaUpc.
        Parameters:
        companyId - The ID of the company that owns this UPC
        id - The primary key of this UPC
        Returns:
        UPCModel
      • listUPCsByCompany

        public FetchResult<UPCModel> listUPCsByCompany​(java.lang.Integer companyId,
                                                       java.lang.String filter,
                                                       java.lang.String include,
                                                       java.lang.Integer top,
                                                       java.lang.Integer skip,
                                                       java.lang.String orderBy)
                                                throws java.lang.Exception
        Retrieve UPCs for this company List all UPC objects attached to this company. A UPC represents a single UPC code in your catalog and matches this product to the tax code identified by this UPC. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaUpc.
        Parameters:
        companyId - The ID of the company that owns these UPCs
        filter - 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/).
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listUPCsByCompanyAsync

        public java.util.concurrent.Future<FetchResult<UPCModel>> listUPCsByCompanyAsync​(java.lang.Integer companyId,
                                                                                         java.lang.String filter,
                                                                                         java.lang.String include,
                                                                                         java.lang.Integer top,
                                                                                         java.lang.Integer skip,
                                                                                         java.lang.String orderBy)
        Retrieve UPCs for this company List all UPC objects attached to this company. A UPC represents a single UPC code in your catalog and matches this product to the tax code identified by this UPC. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaUpc.
        Parameters:
        companyId - The ID of the company that owns these UPCs
        filter - 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/).
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • queryUPCs

        public FetchResult<UPCModel> queryUPCs​(java.lang.String filter,
                                               java.lang.String include,
                                               java.lang.Integer top,
                                               java.lang.Integer skip,
                                               java.lang.String orderBy)
                                        throws java.lang.Exception
        Retrieve all UPCs Get multiple UPC objects across all companies. A UPC represents a single UPC code in your catalog and matches this product to the tax code identified by this UPC. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaUpc.
        Parameters:
        filter - 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/).
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • queryUPCsAsync

        public java.util.concurrent.Future<FetchResult<UPCModel>> queryUPCsAsync​(java.lang.String filter,
                                                                                 java.lang.String include,
                                                                                 java.lang.Integer top,
                                                                                 java.lang.Integer skip,
                                                                                 java.lang.String orderBy)
        Retrieve all UPCs Get multiple UPC objects across all companies. A UPC represents a single UPC code in your catalog and matches this product to the tax code identified by this UPC. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. ### Security Policies * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * This API depends on the following active services:*Required* (all): AvaUpc.
        Parameters:
        filter - 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/).
        include - A comma separated list of additional data to retrieve.
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • updateUPC

        public UPCModel updateUPC​(java.lang.Integer companyId,
                                  java.lang.Integer id,
                                  UPCModel model)
                           throws java.lang.Exception
        Update a single UPC Replace the existing UPC object at this URL with an updated object. A UPC represents a single UPC code in your catalog and matches this product to the tax code identified by this UPC. All data from the existing object will be replaced with data in the object you PUT. 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. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaUpc.
        Parameters:
        companyId - The ID of the company that this UPC belongs to.
        id - The ID of the UPC you wish to update
        model - The UPC you wish to update.
        Returns:
        UPCModel
        Throws:
        java.lang.Exception
      • updateUPCAsync

        public java.util.concurrent.Future<UPCModel> updateUPCAsync​(java.lang.Integer companyId,
                                                                    java.lang.Integer id,
                                                                    UPCModel model)
        Update a single UPC Replace the existing UPC object at this URL with an updated object. A UPC represents a single UPC code in your catalog and matches this product to the tax code identified by this UPC. All data from the existing object will be replaced with data in the object you PUT. 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. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin. * This API depends on the following active services:*Required* (all): AvaUpc.
        Parameters:
        companyId - The ID of the company that this UPC belongs to.
        id - The ID of the UPC you wish to update
        model - The UPC you wish to update.
        Returns:
        UPCModel
      • changePassword

        public java.lang.String changePassword​(PasswordChangeModel model)
                                        throws java.lang.Exception
        Change Password Allows a user to change their password via an API call. This API allows an authenticated user to change their password via an API call. This feature is only available for accounts that do not use SAML integrated password validation. This API only allows the currently authenticated user to change their password; it cannot be used to apply to a different user than the one authenticating the current API call. ### Security Policies * 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.
        Parameters:
        model - An object containing your current password and the new password.
        Returns:
        String
        Throws:
        java.lang.Exception
      • changePasswordAsync

        public java.util.concurrent.Future<java.lang.String> changePasswordAsync​(PasswordChangeModel model)
        Change Password Allows a user to change their password via an API call. This API allows an authenticated user to change their password via an API call. This feature is only available for accounts that do not use SAML integrated password validation. This API only allows the currently authenticated user to change their password; it cannot be used to apply to a different user than the one authenticating the current API call. ### Security Policies * 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.
        Parameters:
        model - An object containing your current password and the new password.
        Returns:
        String
      • createUsers

        public java.util.ArrayList<UserModel> createUsers​(java.lang.Integer accountId,
                                                          java.util.ArrayList<UserModel> model)
                                                   throws java.lang.Exception
        Create new users Create one or more new user objects attached to this account. A user represents one person with access privileges to make API calls and work with a specific account. Users who are account administrators or company users are permitted to create user records to invite additional team members to work with AvaTax. A newly created user will receive an email inviting them to create their password. This means that you must provide a valid email address for all user accounts created. ### Security Policies * 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.
        Parameters:
        accountId - The unique ID number of the account where these users will be created.
        model - The user or array of users you wish to create.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • createUsersAsync

        public java.util.concurrent.Future<java.util.ArrayList<UserModel>> createUsersAsync​(java.lang.Integer accountId,
                                                                                            java.util.ArrayList<UserModel> model)
        Create new users Create one or more new user objects attached to this account. A user represents one person with access privileges to make API calls and work with a specific account. Users who are account administrators or company users are permitted to create user records to invite additional team members to work with AvaTax. A newly created user will receive an email inviting them to create their password. This means that you must provide a valid email address for all user accounts created. ### Security Policies * 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.
        Parameters:
        accountId - The unique ID number of the account where these users will be created.
        model - The user or array of users you wish to create.
        Returns:
        ArrayList
      • deleteUser

        public java.util.ArrayList<ErrorDetail> deleteUser​(java.lang.Integer id,
                                                           java.lang.Integer accountId)
                                                    throws java.lang.Exception
        Delete a single user Mark the user object identified by this URL as deleted. This API is available for use by account and company administrators only. Account and company administrators may only delete users within the appropriate organizations they control. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, CSPTester, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TreasuryAdmin.
        Parameters:
        id - The ID of the user you wish to delete.
        accountId - The accountID of the user you wish to delete.
        Returns:
        ArrayList
        Throws:
        java.lang.Exception
      • deleteUserAsync

        public java.util.concurrent.Future<java.util.ArrayList<ErrorDetail>> deleteUserAsync​(java.lang.Integer id,
                                                                                             java.lang.Integer accountId)
        Delete a single user Mark the user object identified by this URL as deleted. This API is available for use by account and company administrators only. Account and company administrators may only delete users within the appropriate organizations they control. ### Security Policies * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, CSPTester, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TreasuryAdmin.
        Parameters:
        id - The ID of the user you wish to delete.
        accountId - The accountID of the user you wish to delete.
        Returns:
        ArrayList
      • getUser

        public UserModel getUser​(java.lang.Integer id,
                                 java.lang.Integer accountId,
                                 java.lang.String include)
                          throws java.lang.Exception
        Retrieve a single user Get the user object identified by this URL. A user represents one person with access privileges to make API calls and work with a specific account. 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: * FetchDeleted ### Security Policies * 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.
        Parameters:
        id - The ID of the user to retrieve.
        accountId - The accountID of the user you wish to get.
        include - Optional fetch commands.
        Returns:
        UserModel
        Throws:
        java.lang.Exception
      • getUserAsync

        public java.util.concurrent.Future<UserModel> getUserAsync​(java.lang.Integer id,
                                                                   java.lang.Integer accountId,
                                                                   java.lang.String include)
        Retrieve a single user Get the user object identified by this URL. A user represents one person with access privileges to make API calls and work with a specific account. 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: * FetchDeleted ### Security Policies * 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.
        Parameters:
        id - The ID of the user to retrieve.
        accountId - The accountID of the user you wish to get.
        include - Optional fetch commands.
        Returns:
        UserModel
      • getUserEntitlements

        public UserEntitlementModel getUserEntitlements​(java.lang.Integer id,
                                                        java.lang.Integer accountId)
                                                 throws java.lang.Exception
        Retrieve all entitlements for a single user Return a list of all entitlements to which this user has rights to access. Entitlements are a list of specified API calls the user is permitted to make, a list of identifier numbers for companies the user is allowed to use, and an access level identifier that indicates what types of access roles the user is allowed to use. This API call is intended to provide a validation endpoint to determine, before making an API call, whether this call is likely to succeed. 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 entitlements and predict whether this call would succeed: * Retrieve entitlements by calling '/api/v2/accounts/999/users/567/entitlements' . If the call fails, you do not have accurate credentials for this user. * If the 'accessLevel' field within entitlements is 'None', the call will fail. * If the 'accessLevel' field within entitlements is 'SingleCompany' or 'SingleAccount', the call will fail if the companies table does not contain the ID number 12345. * If the 'permissions' array within entitlements does not contain 'AccountSvc.CompanySave', the call will fail. For a full list of defined permissions, please use '/api/v2/definitions/permissions' . ### Security Policies * 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.
        Parameters:
        id - The ID of the user to retrieve.
        accountId - The accountID of the user you wish to get.
        Returns:
        UserEntitlementModel
        Throws:
        java.lang.Exception
      • getUserEntitlementsAsync

        public java.util.concurrent.Future<UserEntitlementModel> getUserEntitlementsAsync​(java.lang.Integer id,
                                                                                          java.lang.Integer accountId)
        Retrieve all entitlements for a single user Return a list of all entitlements to which this user has rights to access. Entitlements are a list of specified API calls the user is permitted to make, a list of identifier numbers for companies the user is allowed to use, and an access level identifier that indicates what types of access roles the user is allowed to use. This API call is intended to provide a validation endpoint to determine, before making an API call, whether this call is likely to succeed. 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 entitlements and predict whether this call would succeed: * Retrieve entitlements by calling '/api/v2/accounts/999/users/567/entitlements' . If the call fails, you do not have accurate credentials for this user. * If the 'accessLevel' field within entitlements is 'None', the call will fail. * If the 'accessLevel' field within entitlements is 'SingleCompany' or 'SingleAccount', the call will fail if the companies table does not contain the ID number 12345. * If the 'permissions' array within entitlements does not contain 'AccountSvc.CompanySave', the call will fail. For a full list of defined permissions, please use '/api/v2/definitions/permissions' . ### Security Policies * 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.
        Parameters:
        id - The ID of the user to retrieve.
        accountId - The accountID of the user you wish to get.
        Returns:
        UserEntitlementModel
      • listUsersByAccount

        public FetchResult<UserModel> listUsersByAccount​(java.lang.Integer accountId,
                                                         java.lang.String include,
                                                         java.lang.String filter,
                                                         java.lang.Integer top,
                                                         java.lang.Integer skip,
                                                         java.lang.String orderBy)
                                                  throws java.lang.Exception
        Retrieve users for this account List all user objects attached to this account. A user represents one person with access privileges to make API calls and work with a specific account. 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. 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. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. 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: * FetchDeleted ### Security Policies * 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.
        Parameters:
        accountId - The accountID of the user you wish to list.
        include - Optional fetch commands.
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listUsersByAccountAsync

        public java.util.concurrent.Future<FetchResult<UserModel>> listUsersByAccountAsync​(java.lang.Integer accountId,
                                                                                           java.lang.String include,
                                                                                           java.lang.String filter,
                                                                                           java.lang.Integer top,
                                                                                           java.lang.Integer skip,
                                                                                           java.lang.String orderBy)
        Retrieve users for this account List all user objects attached to this account. A user represents one person with access privileges to make API calls and work with a specific account. 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. 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. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. 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: * FetchDeleted ### Security Policies * 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.
        Parameters:
        accountId - The accountID of the user you wish to list.
        include - Optional fetch commands.
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • queryUsers

        public FetchResult<UserModel> queryUsers​(java.lang.String include,
                                                 java.lang.String filter,
                                                 java.lang.Integer top,
                                                 java.lang.Integer skip,
                                                 java.lang.String orderBy)
                                          throws java.lang.Exception
        Retrieve all users Get multiple user objects across all accounts. 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 via either username / password authentication, an OpenID / OAuth Bearer Token, or a legacy AvaTax License Key. 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. 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. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. 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: * FetchDeleted ### Security Policies * 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.
        Parameters:
        include - Optional fetch commands.
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • queryUsersAsync

        public java.util.concurrent.Future<FetchResult<UserModel>> queryUsersAsync​(java.lang.String include,
                                                                                   java.lang.String filter,
                                                                                   java.lang.Integer top,
                                                                                   java.lang.Integer skip,
                                                                                   java.lang.String orderBy)
        Retrieve all users Get multiple user objects across all accounts. 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 via either username / password authentication, an OpenID / OAuth Bearer Token, or a legacy AvaTax License Key. 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. 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. 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/) . Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. 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: * FetchDeleted ### Security Policies * 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.
        Parameters:
        include - Optional fetch commands.
        filter - 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/).
        top - 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.
        skip - If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
        orderBy - A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
        Returns:
        FetchResult
      • updateUser

        public UserModel updateUser​(java.lang.Integer id,
                                    java.lang.Integer accountId,
                                    UserModel model)
                             throws java.lang.Exception
        Update a single user Replace the existing user object at this URL with an updated object. A user represents one person with access privileges to make API calls and work with a specific account. All data from the existing object will be replaced with data in the object you PUT. 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. ### Security Policies * 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.
        Parameters:
        id - The ID of the user you wish to update.
        accountId - The accountID of the user you wish to update.
        model - The user object you wish to update.
        Returns:
        UserModel
        Throws:
        java.lang.Exception
      • updateUserAsync

        public java.util.concurrent.Future<UserModel> updateUserAsync​(java.lang.Integer id,
                                                                      java.lang.Integer accountId,
                                                                      UserModel model)
        Update a single user Replace the existing user object at this URL with an updated object. A user represents one person with access privileges to make API calls and work with a specific account. All data from the existing object will be replaced with data in the object you PUT. 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. ### Security Policies * 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.
        Parameters:
        id - The ID of the user you wish to update.
        accountId - The accountID of the user you wish to update.
        model - The user object you wish to update.
        Returns:
        UserModel
      • getMySubscription

        public SubscriptionModel getMySubscription​(java.lang.String serviceTypeId)
                                            throws java.lang.Exception
        Checks if the current user is subscribed to a specific service Returns a subscription object for the current account, or 404 Not Found if this subscription is not enabled for this account. This API will return an error if it is called with invalid authentication credentials. This API is intended to help you determine whether you have the necessary subscription to use certain API calls within AvaTax. You can examine the subscriptions returned from this API call to look for a particular product or subscription to provide useful information to the current user as to whether they are entitled to use
        Parameters:
        serviceTypeId - The service to check
        Returns:
        SubscriptionModel
        Throws:
        java.lang.Exception
      • getMySubscriptionAsync

        public java.util.concurrent.Future<SubscriptionModel> getMySubscriptionAsync​(java.lang.String serviceTypeId)
        Checks if the current user is subscribed to a specific service Returns a subscription object for the current account, or 404 Not Found if this subscription is not enabled for this account. This API will return an error if it is called with invalid authentication credentials. This API is intended to help you determine whether you have the necessary subscription to use certain API calls within AvaTax. You can examine the subscriptions returned from this API call to look for a particular product or subscription to provide useful information to the current user as to whether they are entitled to use
        Parameters:
        serviceTypeId - The service to check
        Returns:
        SubscriptionModel
      • listMySubscriptions

        public FetchResult<SubscriptionModel> listMySubscriptions()
                                                           throws java.lang.Exception
        List all services to which the current user is subscribed Returns the list of all subscriptions enabled for the currently logged in user. This API will return an error if it is called with invalid authentication credentials. This API is intended to help you determine whether you have the necessary subscription to use certain API calls within AvaTax. You can examine the subscriptions returned from this API call to look for a particular product or subscription to provide useful information to the current user as to whether they are entitled to use
        Returns:
        FetchResult
        Throws:
        java.lang.Exception
      • listMySubscriptionsAsync

        public java.util.concurrent.Future<FetchResult<SubscriptionModel>> listMySubscriptionsAsync()
        List all services to which the current user is subscribed Returns the list of all subscriptions enabled for the currently logged in user. This API will return an error if it is called with invalid authentication credentials. This API is intended to help you determine whether you have the necessary subscription to use certain API calls within AvaTax. You can examine the subscriptions returned from this API call to look for a particular product or subscription to provide useful information to the current user as to whether they are entitled to use
        Returns:
        FetchResult
      • ping

        public PingResultModel ping()
                             throws java.lang.Exception
        Tests connectivity and version of the service Check connectivity to AvaTax and return information about the AvaTax API server. This API is intended to help you verify that your connection is working. This API will always succeed and will never return a error. It provides basic information about the server you connect to: * `version` - The version number of the AvaTax API server that responded to your request. The AvaTax API version number is updated once per month during Avalara's update process. * `authenticated` - A boolean flag indicating whether or not you sent valid credentials with your API request. * `authenticationType` - If you provided valid credentials to the API, this field will tell you whether you used Bearer, Username, or LicenseKey authentication. * `authenticatedUserName` - If you provided valid credentials to the API, this field will tell you the username of the currently logged in user. * `authenticatedUserId` - If you provided valid credentials to the API, this field will tell you the user ID of the currently logged in user. * `authenticatedAccountId` - If you provided valid credentials to the API, this field will contain the account ID of the currently logged in user. This API helps diagnose connectivity problems between your application and AvaTax; you may call this API even if you do not have verified connection credentials. If this API fails, either your computer is not connected to the internet, or there is a routing problem between your office and Avalara, or the Avalara server is not available. For more information on the uptime of AvaTax, please see [Avalara's AvaTax Status Page](https://status.avalara.com/). ### Security Policies * This API may be called without providing authentication credentials.
        Returns:
        PingResultModel
        Throws:
        java.lang.Exception
      • pingAsync

        public java.util.concurrent.Future<PingResultModel> pingAsync()
        Tests connectivity and version of the service Check connectivity to AvaTax and return information about the AvaTax API server. This API is intended to help you verify that your connection is working. This API will always succeed and will never return a error. It provides basic information about the server you connect to: * `version` - The version number of the AvaTax API server that responded to your request. The AvaTax API version number is updated once per month during Avalara's update process. * `authenticated` - A boolean flag indicating whether or not you sent valid credentials with your API request. * `authenticationType` - If you provided valid credentials to the API, this field will tell you whether you used Bearer, Username, or LicenseKey authentication. * `authenticatedUserName` - If you provided valid credentials to the API, this field will tell you the username of the currently logged in user. * `authenticatedUserId` - If you provided valid credentials to the API, this field will tell you the user ID of the currently logged in user. * `authenticatedAccountId` - If you provided valid credentials to the API, this field will contain the account ID of the currently logged in user. This API helps diagnose connectivity problems between your application and AvaTax; you may call this API even if you do not have verified connection credentials. If this API fails, either your computer is not connected to the internet, or there is a routing problem between your office and Avalara, or the Avalara server is not available. For more information on the uptime of AvaTax, please see [Avalara's AvaTax Status Page](https://status.avalara.com/). ### Security Policies * This API may be called without providing authentication credentials.
        Returns:
        PingResultModel