TaxCloud API

TaxCloud US advanced APIs

Instantly determine the correct sales tax amount due for any address in the United States (over 15,000 jurisdictions).

TaxCloud US advanced APIs Overview

{
  "apiLoginId": "115E9050",
String

Your TaxCloud API ID uniquely identifies which Website associated with your TaxCloud account is making this request. Find your API ID(s) in the TaxCloud Websites Area.

  "orderID": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)

Commerce system-issued unique transaction/order identifier.

  cartItems: [
Array

Cart Items to return

    {
    { ... }
Object

CartItem

      "Index": 0,
Integer

Zero-based index of the item being purchased. Zero-based means the first item in the cart has an Index of 0, the second item has an index of 1, and so on.

      "ItemID": "8LA06052",
String

Unique identifier (such as a SKU or GUID) used by your commerce system to uniquely identify a particular product.

      "TIC": 11010,
Integer

The Taxability Information Code (or TIC) appropriate for the item being purchased. For more information, please review the Taxability Information Codes area

      "Price": 9.95,
Number

The per-item price of the item being purchased. IMPORTANT This is the price to be paid by the customer after application of any discounts or coupons

      "Qty": 1
Integer

The quantity of this particular item being purchased.

    }
  ]
  "returnedDate": "2017-02-23"
String (Date)

Date that the items were returned on

}

AuthorizedWithCapture

Open in API Explorer
POST 1.0/TaxCloud/AuthorizedWithCapture

Mark a previous Lookup as both Authorized and Captured in a single step - do this AFTER capturing payment with payment processor.

Example Request

Format:
curl --request POST \
  --url 'https://api.taxcloud.net/1.0/TaxCloud/AuthorizedWithCapture?apiKey=YOUR%20API%20KEY%20HERE' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{"dateCaptured":"2016-02-29","dateAuthorized":"2016-02-29","orderID":"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a","cartID":"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a","customerID":"CustomerX","apiLoginId":"115E9050"}'
require 'uri'
require 'net/http'

url = URI("https://api.taxcloud.net/1.0/TaxCloud/AuthorizedWithCapture?apiKey=YOUR%20API%20KEY%20HERE")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"dateCaptured\":\"2016-02-29\",\"dateAuthorized\":\"2016-02-29\",\"orderID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"cartID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"customerID\":\"CustomerX\",\"apiLoginId\":\"115E9050\"}"

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.taxcloud.net",
  "port": null,
  "path": "/1.0/TaxCloud/AuthorizedWithCapture?apiKey=YOUR%20API%20KEY%20HERE",
  "headers": {
    "accept": "application/json",
    "content-type": "application/json"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({ dateCaptured: '2016-02-29',
  dateAuthorized: '2016-02-29',
  orderID: '04fe9a97-a579-43c5-bb1a-58ed29bf0a6a',
  cartID: '04fe9a97-a579-43c5-bb1a-58ed29bf0a6a',
  customerID: 'CustomerX',
  apiLoginId: '115E9050' }));
req.end();
import http.client

conn = http.client.HTTPSConnection("api.taxcloud.net")

payload = "{\"dateCaptured\":\"2016-02-29\",\"dateAuthorized\":\"2016-02-29\",\"orderID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"cartID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"customerID\":\"CustomerX\",\"apiLoginId\":\"115E9050\"}"

headers = {
    'accept': "application/json",
    'content-type': "application/json"
    }

conn.request("POST", "/1.0/TaxCloud/AuthorizedWithCapture?apiKey=YOUR%20API%20KEY%20HERE", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.taxcloud.net/1.0/TaxCloud/AuthorizedWithCapture?apiKey=YOUR%20API%20KEY%20HERE",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"dateCaptured\":\"2016-02-29\",\"dateAuthorized\":\"2016-02-29\",\"orderID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"cartID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"customerID\":\"CustomerX\",\"apiLoginId\":\"115E9050\"}",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "content-type: application/json"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.taxcloud.net/1.0/TaxCloud/AuthorizedWithCapture?apiKey=YOUR%20API%20KEY%20HERE"

	payload := strings.NewReader("{\"dateCaptured\":\"2016-02-29\",\"dateAuthorized\":\"2016-02-29\",\"orderID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"cartID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"customerID\":\"CustomerX\",\"apiLoginId\":\"115E9050\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Request Body

Name Type Required Description Example
AuthorizedWithCaptureRequest Object Required

AuthorizedWithCapture Request

{
  "apiLoginId": "115E9050",
String

Your TaxCloud API ID uniquely identifies which Website associated with your TaxCloud account is making this request. Find your API ID(s) in the TaxCloud Website

  "customerID": "CustomerX",
String

The unique identifier for the customer entity making a purchase. This should be your system's internal identifier (usually an integer or UUID/GUID). This value should not be a value (such as an email address) which could be used to personally identify your customer.

  "cartID": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)

TaxCloud requires a customer's shopping cart to be assigned a unique identifier before checkout. That way, TaxCloud can later connect the Capture event with the correct Lookup. IMPORTANT: You must have the ability to persist (via server-side database or client-side cookie) and re-associate the unique cartID for each unique customer session. If no cartID was provided in the Lookup request, TaxCloud will respond with a GUID which should be persisted and used in subsequent API calls for this customer's session.

  "orderID": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)

Commerce system-issued unique transaction/order identifier.

  "dateAuthorized": "2017-02-23",
String (Date)

Date the transaction was authorized with the payments processor.

  "dateCaptured": "2017-02-23"
String (Date)

Date the transaction was captured with the payments processor - this is usually the date an item ships to the customer via common carrier.

}

Responses

200 Success (Empty Response)

AddExemptCertificate

Open in API Explorer
POST 1.0/TaxCloud/AddExemptCertificate

Save an Entity Exemption Certificate for a given customerID.

Example Request

Format:
curl --request POST \
  --url 'https://api.taxcloud.net/1.0/TaxCloud/AddExemptCertificate?apiKey=YOUR%20API%20KEY%20HERE' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{"exemptCert":{"CreatedDate":"2016-03-01","PurchaserExemptionReason":{"ExemptionReason":[{"ExemptionReason":"FederalGovernmentDepartment"}]},"PurchaserBusinessType":{"BusinessType":{"enum":["AccommodationAndFoodServices","AccommodationAndFoodServices","AccommodationAndFoodServices"]}},"PurchaserTaxID":{"StateOfIssue":{"State":"CT"},"IDNumber":"00000-00000","TaxType":{"enum":["SSN","SSN","SSN"]}},"PurchaserZip":"06851","PurchaserState":null,"PurchaserCity":"Norwalk","PurchaserAddress2":"Third Floor","PurchaserAddress1":"162 East Avenue","PurchaserTitle":"CEO","PurchaserLastName":"Campbell","PurchaserFirstName":"David","SinglePurchaseOrderNumber":"23463","SinglePurchase":false,"ExemptStates":{"ArrayOfExemptState":[{"IdentificationNumber":"00000-00000","ReasonForExemption":null,"StateAbbr":null}]}},"customerID":"CustomerX","apiLoginId":"115E9050"}'
require 'uri'
require 'net/http'

url = URI("https://api.taxcloud.net/1.0/TaxCloud/AddExemptCertificate?apiKey=YOUR%20API%20KEY%20HERE")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"exemptCert\":{\"CreatedDate\":\"2016-03-01\",\"PurchaserExemptionReason\":{\"ExemptionReason\":[{\"ExemptionReason\":\"FederalGovernmentDepartment\"}]},\"PurchaserBusinessType\":{\"BusinessType\":{\"enum\":[\"AccommodationAndFoodServices\",\"AccommodationAndFoodServices\",\"AccommodationAndFoodServices\"]}},\"PurchaserTaxID\":{\"StateOfIssue\":{\"State\":\"CT\"},\"IDNumber\":\"00000-00000\",\"TaxType\":{\"enum\":[\"SSN\",\"SSN\",\"SSN\"]}},\"PurchaserZip\":\"06851\",\"PurchaserState\":null,\"PurchaserCity\":\"Norwalk\",\"PurchaserAddress2\":\"Third Floor\",\"PurchaserAddress1\":\"162 East Avenue\",\"PurchaserTitle\":\"CEO\",\"PurchaserLastName\":\"Campbell\",\"PurchaserFirstName\":\"David\",\"SinglePurchaseOrderNumber\":\"23463\",\"SinglePurchase\":false,\"ExemptStates\":{\"ArrayOfExemptState\":[{\"IdentificationNumber\":\"00000-00000\",\"ReasonForExemption\":null,\"StateAbbr\":null}]}},\"customerID\":\"CustomerX\",\"apiLoginId\":\"115E9050\"}"

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.taxcloud.net",
  "port": null,
  "path": "/1.0/TaxCloud/AddExemptCertificate?apiKey=YOUR%20API%20KEY%20HERE",
  "headers": {
    "accept": "application/json",
    "content-type": "application/json"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({ exemptCert: 
   { CreatedDate: '2016-03-01',
     PurchaserExemptionReason: { ExemptionReason: [ { ExemptionReason: 'FederalGovernmentDepartment' } ] },
     PurchaserBusinessType: 
      { BusinessType: 
         { enum: 
            [ 'AccommodationAndFoodServices',
              'AccommodationAndFoodServices',
              'AccommodationAndFoodServices' ] } },
     PurchaserTaxID: 
      { StateOfIssue: { State: 'CT' },
        IDNumber: '00000-00000',
        TaxType: { enum: [ 'SSN', 'SSN', 'SSN' ] } },
     PurchaserZip: '06851',
     PurchaserState: null,
     PurchaserCity: 'Norwalk',
     PurchaserAddress2: 'Third Floor',
     PurchaserAddress1: '162 East Avenue',
     PurchaserTitle: 'CEO',
     PurchaserLastName: 'Campbell',
     PurchaserFirstName: 'David',
     SinglePurchaseOrderNumber: '23463',
     SinglePurchase: false,
     ExemptStates: 
      { ArrayOfExemptState: 
         [ { IdentificationNumber: '00000-00000',
             ReasonForExemption: null,
             StateAbbr: null } ] } },
  customerID: 'CustomerX',
  apiLoginId: '115E9050' }));
req.end();
import http.client

conn = http.client.HTTPSConnection("api.taxcloud.net")

payload = "{\"exemptCert\":{\"CreatedDate\":\"2016-03-01\",\"PurchaserExemptionReason\":{\"ExemptionReason\":[{\"ExemptionReason\":\"FederalGovernmentDepartment\"}]},\"PurchaserBusinessType\":{\"BusinessType\":{\"enum\":[\"AccommodationAndFoodServices\",\"AccommodationAndFoodServices\",\"AccommodationAndFoodServices\"]}},\"PurchaserTaxID\":{\"StateOfIssue\":{\"State\":\"CT\"},\"IDNumber\":\"00000-00000\",\"TaxType\":{\"enum\":[\"SSN\",\"SSN\",\"SSN\"]}},\"PurchaserZip\":\"06851\",\"PurchaserState\":null,\"PurchaserCity\":\"Norwalk\",\"PurchaserAddress2\":\"Third Floor\",\"PurchaserAddress1\":\"162 East Avenue\",\"PurchaserTitle\":\"CEO\",\"PurchaserLastName\":\"Campbell\",\"PurchaserFirstName\":\"David\",\"SinglePurchaseOrderNumber\":\"23463\",\"SinglePurchase\":false,\"ExemptStates\":{\"ArrayOfExemptState\":[{\"IdentificationNumber\":\"00000-00000\",\"ReasonForExemption\":null,\"StateAbbr\":null}]}},\"customerID\":\"CustomerX\",\"apiLoginId\":\"115E9050\"}"

headers = {
    'accept': "application/json",
    'content-type': "application/json"
    }

conn.request("POST", "/1.0/TaxCloud/AddExemptCertificate?apiKey=YOUR%20API%20KEY%20HERE", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.taxcloud.net/1.0/TaxCloud/AddExemptCertificate?apiKey=YOUR%20API%20KEY%20HERE",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"exemptCert\":{\"CreatedDate\":\"2016-03-01\",\"PurchaserExemptionReason\":{\"ExemptionReason\":[{\"ExemptionReason\":\"FederalGovernmentDepartment\"}]},\"PurchaserBusinessType\":{\"BusinessType\":{\"enum\":[\"AccommodationAndFoodServices\",\"AccommodationAndFoodServices\",\"AccommodationAndFoodServices\"]}},\"PurchaserTaxID\":{\"StateOfIssue\":{\"State\":\"CT\"},\"IDNumber\":\"00000-00000\",\"TaxType\":{\"enum\":[\"SSN\",\"SSN\",\"SSN\"]}},\"PurchaserZip\":\"06851\",\"PurchaserState\":null,\"PurchaserCity\":\"Norwalk\",\"PurchaserAddress2\":\"Third Floor\",\"PurchaserAddress1\":\"162 East Avenue\",\"PurchaserTitle\":\"CEO\",\"PurchaserLastName\":\"Campbell\",\"PurchaserFirstName\":\"David\",\"SinglePurchaseOrderNumber\":\"23463\",\"SinglePurchase\":false,\"ExemptStates\":{\"ArrayOfExemptState\":[{\"IdentificationNumber\":\"00000-00000\",\"ReasonForExemption\":null,\"StateAbbr\":null}]}},\"customerID\":\"CustomerX\",\"apiLoginId\":\"115E9050\"}",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "content-type: application/json"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.taxcloud.net/1.0/TaxCloud/AddExemptCertificate?apiKey=YOUR%20API%20KEY%20HERE"

	payload := strings.NewReader("{\"exemptCert\":{\"CreatedDate\":\"2016-03-01\",\"PurchaserExemptionReason\":{\"ExemptionReason\":[{\"ExemptionReason\":\"FederalGovernmentDepartment\"}]},\"PurchaserBusinessType\":{\"BusinessType\":{\"enum\":[\"AccommodationAndFoodServices\",\"AccommodationAndFoodServices\",\"AccommodationAndFoodServices\"]}},\"PurchaserTaxID\":{\"StateOfIssue\":{\"State\":\"CT\"},\"IDNumber\":\"00000-00000\",\"TaxType\":{\"enum\":[\"SSN\",\"SSN\",\"SSN\"]}},\"PurchaserZip\":\"06851\",\"PurchaserState\":null,\"PurchaserCity\":\"Norwalk\",\"PurchaserAddress2\":\"Third Floor\",\"PurchaserAddress1\":\"162 East Avenue\",\"PurchaserTitle\":\"CEO\",\"PurchaserLastName\":\"Campbell\",\"PurchaserFirstName\":\"David\",\"SinglePurchaseOrderNumber\":\"23463\",\"SinglePurchase\":false,\"ExemptStates\":{\"ArrayOfExemptState\":[{\"IdentificationNumber\":\"00000-00000\",\"ReasonForExemption\":null,\"StateAbbr\":null}]}},\"customerID\":\"CustomerX\",\"apiLoginId\":\"115E9050\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Request Body

Name Type Required Description Example
AddExemptCertificate Object Required

AddExemptCertificate Request

{
  "apiLoginId": "115E9050",
String

Your TaxCloud API ID uniquely identifies which Website associated with your TaxCloud account is making this request. Find your API ID(s) in the TaxCloud Websites Area.

  "customerID": "CustomerX",
String

The unique identifier for the customer entity saving the Exemption Certificate.

This should be your system's internal identifier (usually an integer or UUID/GUID). This value should not be a value (such as an email address) which could be used to personally identify your customer.

  "exemptCert": {
  "exemptCert": { ... }
Object

This is the Details of the Exemption Certificate

    "Detail": {
    "Detail": { ... }
Object

Exemption Certificate Details

      ExemptStates: [
Array

State(s) where purchaser is claiming this exemption

        {
        { ... }
Object

ExemptState

          "StateAbbr": "WA",
String

State where the purchaser is claiming exempt status. Must be one of the following 51 options.

StateAbbr
AL AK AR AZ CA CO
CT DE DC FL GA HI
ID IL IN IA KS KY
LA ME MD MA MI MN
MS MO MT NE NV NH
NJ NM NY NC ND OH
OK OR PA RI SC SD
TN TX UT VT VA WA
WV WI WY
          "ReasonForExemption": "Resale",
String

Must be one of the following 12 options.

ExemptionReason Options
Resale
FederalGovernmentDepartment
StateOrLocalGovernmentName
TribalGovernmentName
ForeignDiplomat
CharitableOrganization
ReligiousOrEducationalOrganization
AgriculturalProduction
IndustrialProductionOrManufacturing
DirectPayPermit
DirectMail
Other
          "IdentificationNumber": "00000-00000"
String

State-issued exempt entity identifier (or state-issued business identifier)

        }
      ]
      "SinglePurchase": false,
Boolean

Is this a single-purchase exemption claim, or a blanket (multi-use) exemption certificate?

      "SinglePurchaseOrderNumber": "23463",
String

If Single-Purchase exemption claim, what is the Customer's Purchase Order number?

      "PurchaserFirstName": "E-Commerce",
String

First name of the person (or Business) claiming exemption.

      "PurchaserLastName": "Geek",
String

Last name of the person (or Business) claiming exemption.

      "PurchaserTitle": "Rockstar",
String

Title of the person (or Business) claiming exemption.

      "PurchaserAddress1": "162 East Avenue",
String

Street address of the person (or Business) claiming exemption.

      "PurchaserAddress2": "Third Floor",
String

Second address line of the person (or Business) claiming exemption.

      "PurchaserCity": "Norwalk",
String

City of the person (or Business) claiming exemption.

      "PurchaserState": "WA",
String

Two Character state abbreviation of incorporating state (or territory) the entity (or Business) claiming the exemption. Must be one of the following 51 options.

State
AL AK AR AZ CA CO
CT DE DC FL GA HI
ID IL IN IA KS KY
LA ME MD MA MI MN
MS MO MT NE NV NH
NJ NM NY NC ND OH
OK OR PA RI SC SD
TN TX UT VT VA WA
WV WI WY
      "PurchaserZip": "06851",
String

Postal code of the person (or Business) claiming exemption.

      "PurchaserTaxID": {
      "PurchaserTaxID": { ... }
Object

Tax identifier of the person (or Business) claiming exemption.

        "TaxType": "FEIN",
String

What type of tax identifier is the purchaser using? Must be one of the following 4 options.

'SSN' 'FEIN' 'StateIssued' 'ForeignDiplomat'

        "IDNumber": "00000-00000",
String

State-issued exempt entity identifier (or state-issued business identifier)

        "StateOfIssue": "WA"
String

State that issued this tax identifier. Two Character state abbreviation of incorporating state (or territory) that issued the license for the entity (or Business) claiming the exemption. Must be one of the following 51 options.

StateOfIssue
AL AK AR AZ CA CO
CT DE DC FL GA HI
ID IL IN IA KS KY
LA ME MD MA MI MN
MS MO MT NE NV NH
NJ NM NY NC ND OH
OK OR PA RI SC SD
TN TX UT VT VA WA
WV WI WY
      },
      "PurchaserBusinessType": "RetailTrade",
String

Type of business operated by the person (or Business) claiming the exemption. Must be one of the following 20 options.

PurchaserBusinessType Options
AccommodationAndFoodServices
Agricultural_Forestry_Fishing_Hunting
Construction
FinanceAndInsurance
Information_PublishingAndCommunications
Manufacturing
Mining
RealEstate
RentalAndLeasing
RetailTrade
TransportationAndWarehousing
Utilities
WholesaleTrade
BusinessServices
ProfessionalServices
EducationAndHealthCareServices
NonprofitOrganization
Government
NotABusiness
Other
      "PurchaserExemptionReason": "Resale",
String

What type of entity is claiming an exemption from sales tax. Must be one of the following 12 options.

ExemptionReason Options
Resale
FederalGovernmentDepartment
StateOrLocalGovernmentName
TribalGovernmentName
ForeignDiplomat
CharitableOrganization
ReligiousOrEducationalOrganization
AgriculturalProduction
IndustrialProductionOrManufacturing
DirectPayPermit
DirectMail
Other
      "CreatedDate": "2017-02-23",
String (Date)

First date of claimed exemption (creating date).

      "PurchaserExemptionReasonValue": "foo",
String

Required if the PurchaserExemptionReason is set to "Other"

      "PurchaserBusinessTypeOtherValue": "foo",
String

Required if the PurchaserBusinessType is set to "Other"

      "CertificateID": "foo",
String

This should be blank, or a previously issued Exemption Certificate ID (if editing)

      "CreatedDate": "2017-02-23"
String (Date)

The date this Exemption Certificate was issued.

    }
  }
}

Responses

200 Success

Should return the the TaxCloud issued UUID/GUID for the Exemption Certificate. This can be saved by the calling platform for use in subsequent Lookups.

TaxCloud US main APIs Addexemptcertificateresult
{
  "CertificateID": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a"
String (Uuid)

The TaxCloud issued UUID/GUID for the Exemption Certificate. This can be saved by the calling platform for use in subsequent Lookups.

}

GetExemptCertificates

Open in API Explorer
POST 1.0/TaxCloud/GetExemptCertificates

Get previously saved Entity Exemption Certificates for a given customerID.

Example Request

Format:
curl --request POST \
  --url 'https://api.taxcloud.net/1.0/TaxCloud/GetExemptCertificates?apiKey=YOUR%20API%20KEY%20HERE' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{"customerID":"CustomerX","apiLoginId":"115E9050"}'
require 'uri'
require 'net/http'

url = URI("https://api.taxcloud.net/1.0/TaxCloud/GetExemptCertificates?apiKey=YOUR%20API%20KEY%20HERE")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"customerID\":\"CustomerX\",\"apiLoginId\":\"115E9050\"}"

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.taxcloud.net",
  "port": null,
  "path": "/1.0/TaxCloud/GetExemptCertificates?apiKey=YOUR%20API%20KEY%20HERE",
  "headers": {
    "accept": "application/json",
    "content-type": "application/json"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({ customerID: 'CustomerX', apiLoginId: '115E9050' }));
req.end();
import http.client

conn = http.client.HTTPSConnection("api.taxcloud.net")

payload = "{\"customerID\":\"CustomerX\",\"apiLoginId\":\"115E9050\"}"

headers = {
    'accept': "application/json",
    'content-type': "application/json"
    }

conn.request("POST", "/1.0/TaxCloud/GetExemptCertificates?apiKey=YOUR%20API%20KEY%20HERE", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.taxcloud.net/1.0/TaxCloud/GetExemptCertificates?apiKey=YOUR%20API%20KEY%20HERE",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"customerID\":\"CustomerX\",\"apiLoginId\":\"115E9050\"}",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "content-type: application/json"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.taxcloud.net/1.0/TaxCloud/GetExemptCertificates?apiKey=YOUR%20API%20KEY%20HERE"

	payload := strings.NewReader("{\"customerID\":\"CustomerX\",\"apiLoginId\":\"115E9050\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Request Body

Name Type Required Description Example
GetExemptCertificatesRequest Object Required

GetExemptCertificates

{
  "apiLoginId": "115E9050",
String

Your TaxCloud API ID uniquely identifies which Website associated with your TaxCloud account is making this request. Find your API ID(s) in the TaxCloud Website

  "customerID": "CustomerX"
String

The unique identifier for the customer entity with previously save Exemption Certificates.

This should be your system's internal identifier (usually an integer or UUID/GUID). This value should not be a value (such as an email address) which could be used to personally identify your customer.

}

Responses

200 Success TaxCloud US main APIs Getexemptcertificatesresult
{
  ExemptCertificates: [
Array

An array of all Exemption Certificates associated with the provided customerID

    {
    { ... }
Object

ExemptionCertificateDetail

      ExemptStates: [
Array

State(s) where purchaser is claiming this exemption

        {
        { ... }
Object

ExemptState

          "StateAbbr": "WA",
String

State where the purchaser is claiming exempt status. Must be one of the following 51 options.

StateAbbr
AL AK AR AZ CA CO
CT DE DC FL GA HI
ID IL IN IA KS KY
LA ME MD MA MI MN
MS MO MT NE NV NH
NJ NM NY NC ND OH
OK OR PA RI SC SD
TN TX UT VT VA WA
WV WI WY
          "ReasonForExemption": "Resale",
String

Must be one of the following 12 options.

ExemptionReason Options
Resale
FederalGovernmentDepartment
StateOrLocalGovernmentName
TribalGovernmentName
ForeignDiplomat
CharitableOrganization
ReligiousOrEducationalOrganization
AgriculturalProduction
IndustrialProductionOrManufacturing
DirectPayPermit
DirectMail
Other
          "IdentificationNumber": "00000-00000"
String

State-issued exempt entity identifier (or state-issued business identifier)

        }
      ]
      "SinglePurchase": false,
Boolean

Is this a single-purchase exemption claim, or a blanket (multi-use) exemption certificate?

      "SinglePurchaseOrderNumber": "23463",
String

If Single-Purchase exemption claim, what is the Customer's Purchase Order number?

      "PurchaserFirstName": "E-Commerce",
String

First name of the person (or Business) claiming exemption.

      "PurchaserLastName": "Geek",
String

Last name of the person (or Business) claiming exemption.

      "PurchaserTitle": "Rockstar",
String

Title of the person (or Business) claiming exemption.

      "PurchaserAddress1": "162 East Avenue",
String

Street address of the person (or Business) claiming exemption.

      "PurchaserAddress2": "Third Floor",
String

Second address line of the person (or Business) claiming exemption.

      "PurchaserCity": "Norwalk",
String

City of the person (or Business) claiming exemption.

      "PurchaserState": "WA",
String

Two Character state abbreviation of incorporating state (or territory) the entity (or Business) claiming the exemption. Must be one of the following 51 options.

State
AL AK AR AZ CA CO
CT DE DC FL GA HI
ID IL IN IA KS KY
LA ME MD MA MI MN
MS MO MT NE NV NH
NJ NM NY NC ND OH
OK OR PA RI SC SD
TN TX UT VT VA WA
WV WI WY
      "PurchaserZip": "06851",
String

Postal code of the person (or Business) claiming exemption.

      "PurchaserTaxID": {
      "PurchaserTaxID": { ... }
Object

Tax identifier of the person (or Business) claiming exemption.

        "TaxType": "FEIN",
String

What type of tax identifier is the purchaser using? Must be one of the following 4 options.

'SSN' 'FEIN' 'StateIssued' 'ForeignDiplomat'

        "IDNumber": "00000-00000",
String

State-issued exempt entity identifier (or state-issued business identifier)

        "StateOfIssue": "WA"
String

State that issued this tax identifier. Two Character state abbreviation of incorporating state (or territory) that issued the license for the entity (or Business) claiming the exemption. Must be one of the following 51 options.

StateOfIssue
AL AK AR AZ CA CO
CT DE DC FL GA HI
ID IL IN IA KS KY
LA ME MD MA MI MN
MS MO MT NE NV NH
NJ NM NY NC ND OH
OK OR PA RI SC SD
TN TX UT VT VA WA
WV WI WY
      },
      "PurchaserBusinessType": "RetailTrade",
String

Type of business operated by the person (or Business) claiming the exemption. Must be one of the following 20 options.

PurchaserBusinessType Options
AccommodationAndFoodServices
Agricultural_Forestry_Fishing_Hunting
Construction
FinanceAndInsurance
Information_PublishingAndCommunications
Manufacturing
Mining
RealEstate
RentalAndLeasing
RetailTrade
TransportationAndWarehousing
Utilities
WholesaleTrade
BusinessServices
ProfessionalServices
EducationAndHealthCareServices
NonprofitOrganization
Government
NotABusiness
Other
      "PurchaserExemptionReason": "Resale",
String

What type of entity is claiming an exemption from sales tax. Must be one of the following 12 options.

ExemptionReason Options
Resale
FederalGovernmentDepartment
StateOrLocalGovernmentName
TribalGovernmentName
ForeignDiplomat
CharitableOrganization
ReligiousOrEducationalOrganization
AgriculturalProduction
IndustrialProductionOrManufacturing
DirectPayPermit
DirectMail
Other
      "CreatedDate": "2017-02-23",
String (Date)

First date of claimed exemption (creating date).

      "PurchaserExemptionReasonValue": "foo",
String

Required if the PurchaserExemptionReason is set to "Other"

      "PurchaserBusinessTypeOtherValue": "foo",
String

Required if the PurchaserBusinessType is set to "Other"

      "CertificateID": "foo",
String

This should be blank, or a previously issued Exemption Certificate ID (if editing)

      "CreatedDate": "2017-02-23"
String (Date)

The date this Exemption Certificate was issued.

    }
  ]
}

GetTICs

Open in API Explorer
POST 1.0/TaxCloud/GetTICs

Get an array of all known Taxability Information Codes (TICs)

Example Request

Format:
curl --request POST \
  --url 'https://api.taxcloud.net/1.0/TaxCloud/GetTICs?apiKey=YOUR%20API%20KEY%20HERE' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{"apiLoginID":"115E9050"}'
require 'uri'
require 'net/http'

url = URI("https://api.taxcloud.net/1.0/TaxCloud/GetTICs?apiKey=YOUR%20API%20KEY%20HERE")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"apiLoginID\":\"115E9050\"}"

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.taxcloud.net",
  "port": null,
  "path": "/1.0/TaxCloud/GetTICs?apiKey=YOUR%20API%20KEY%20HERE",
  "headers": {
    "accept": "application/json",
    "content-type": "application/json"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({ apiLoginID: '115E9050' }));
req.end();
import http.client

conn = http.client.HTTPSConnection("api.taxcloud.net")

payload = "{\"apiLoginID\":\"115E9050\"}"

headers = {
    'accept': "application/json",
    'content-type': "application/json"
    }

conn.request("POST", "/1.0/TaxCloud/GetTICs?apiKey=YOUR%20API%20KEY%20HERE", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.taxcloud.net/1.0/TaxCloud/GetTICs?apiKey=YOUR%20API%20KEY%20HERE",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"apiLoginID\":\"115E9050\"}",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "content-type: application/json"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.taxcloud.net/1.0/TaxCloud/GetTICs?apiKey=YOUR%20API%20KEY%20HERE"

	payload := strings.NewReader("{\"apiLoginID\":\"115E9050\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Request Body

Name Type Required Description Example
apiLoginID Object Required

Your TaxCloud API ID uniquely identifies which Website associated with your TaxCloud account is making this request. Find your API ID(s) in the TaxCloud Websites Area.

{
  "apiLoginID": "115E9050"
String

Your TaxCloud API ID uniquely identifies which Website associated with your TaxCloud account is making this request. Find your API ID(s) in the TaxCloud Websites Area.

}

Responses

200 Success

An array of all known Taxability Information Codes (TICs)

TaxCloud US main APIs Getticsresponse
{
  TICs: [
Array
    {
    { ... }
Object

TIC

      "TICID": "00000",
String

This is a Taxability Information Code (TIC) Identifier

      "Description": "Uncategorized"
String

This is the description associated with the subject TIC

    }
  ]
  "ResponseType": 3,
Integer
  "Messages": [
    "foo",
    "foo",
    "foo"
  ]
Array
}

AddTransactions

Open in API Explorer
POST 1.0/TaxCloud/AddTransactions

Add a batch of transactions (up to 25 at a time) from offline sources. All transactions will be imported into TaxCloud, and re-calculated to ensure proper tax amounts are included in subsequent sales tax reports and filings.

Example Request

Format:
curl --request POST \
  --url 'https://api.taxcloud.net/1.0/TaxCloud/AddTransactions?apiKey=YOUR%20API%20KEY%20HERE' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{"transactions":[{"dateCaptured":"2016-03-01","dateAuthorized":"2016-03-01","dateTransaction":"2016-03-01","exemptCert":{"Detail":{"CreatedDate":"2016-03-01","PurchaserExemptionReason":{"ExemptionReason":[{"ExemptionReason":"FederalGovernmentDepartment"}]},"PurchaserBusinessType":{"BusinessType":{"enum":["AccommodationAndFoodServices","AccommodationAndFoodServices","AccommodationAndFoodServices"]}},"PurchaserTaxID":{"StateOfIssue":{"State":"CT"},"IDNumber":"00000-00000","TaxType":{"enum":["SSN","SSN","SSN"]}},"PurchaserZip":"06851","PurchaserState":null,"PurchaserCity":"Norwalk","PurchaserAddress2":"Third Floor","PurchaserAddress1":"162 East Avenue","PurchaserTitle":"CEO","PurchaserLastName":"Campbell","PurchaserFirstName":"David","SinglePurchaseOrderNumber":"23463","SinglePurchase":false,"ExemptStates":{"ArrayOfExemptState":[{"IdentificationNumber":"00000-00000","ReasonForExemption":null,"StateAbbr":null}]}},"CertificateID":"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a"},"deliveredBySeller":false,"destination":{"Zip4":"5715","Zip5":"06851","State":"CT","City":"Norwalk","Address2":"Third Floor","Address1":"162 East Avenue"},"origin":{"Zip4":"5715","Zip5":"06851","State":"CT","City":"Norwalk","Address2":"Third Floor","Address1":"162 East Avenue"},"cartItems":{"Qty":1,"Price":9.95,"TIC":11010,"ItemID":"8LA06052","Index":0},"orderID":"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a","cartID":"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a","customerID":"CustomerX"}],"apiLoginID":"115E9050"}'
require 'uri'
require 'net/http'

url = URI("https://api.taxcloud.net/1.0/TaxCloud/AddTransactions?apiKey=YOUR%20API%20KEY%20HERE")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"transactions\":[{\"dateCaptured\":\"2016-03-01\",\"dateAuthorized\":\"2016-03-01\",\"dateTransaction\":\"2016-03-01\",\"exemptCert\":{\"Detail\":{\"CreatedDate\":\"2016-03-01\",\"PurchaserExemptionReason\":{\"ExemptionReason\":[{\"ExemptionReason\":\"FederalGovernmentDepartment\"}]},\"PurchaserBusinessType\":{\"BusinessType\":{\"enum\":[\"AccommodationAndFoodServices\",\"AccommodationAndFoodServices\",\"AccommodationAndFoodServices\"]}},\"PurchaserTaxID\":{\"StateOfIssue\":{\"State\":\"CT\"},\"IDNumber\":\"00000-00000\",\"TaxType\":{\"enum\":[\"SSN\",\"SSN\",\"SSN\"]}},\"PurchaserZip\":\"06851\",\"PurchaserState\":null,\"PurchaserCity\":\"Norwalk\",\"PurchaserAddress2\":\"Third Floor\",\"PurchaserAddress1\":\"162 East Avenue\",\"PurchaserTitle\":\"CEO\",\"PurchaserLastName\":\"Campbell\",\"PurchaserFirstName\":\"David\",\"SinglePurchaseOrderNumber\":\"23463\",\"SinglePurchase\":false,\"ExemptStates\":{\"ArrayOfExemptState\":[{\"IdentificationNumber\":\"00000-00000\",\"ReasonForExemption\":null,\"StateAbbr\":null}]}},\"CertificateID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\"},\"deliveredBySeller\":false,\"destination\":{\"Zip4\":\"5715\",\"Zip5\":\"06851\",\"State\":\"CT\",\"City\":\"Norwalk\",\"Address2\":\"Third Floor\",\"Address1\":\"162 East Avenue\"},\"origin\":{\"Zip4\":\"5715\",\"Zip5\":\"06851\",\"State\":\"CT\",\"City\":\"Norwalk\",\"Address2\":\"Third Floor\",\"Address1\":\"162 East Avenue\"},\"cartItems\":{\"Qty\":1,\"Price\":9.95,\"TIC\":11010,\"ItemID\":\"8LA06052\",\"Index\":0},\"orderID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"cartID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"customerID\":\"CustomerX\"}],\"apiLoginID\":\"115E9050\"}"

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.taxcloud.net",
  "port": null,
  "path": "/1.0/TaxCloud/AddTransactions?apiKey=YOUR%20API%20KEY%20HERE",
  "headers": {
    "accept": "application/json",
    "content-type": "application/json"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({ transactions: 
   [ { dateCaptured: '2016-03-01',
       dateAuthorized: '2016-03-01',
       dateTransaction: '2016-03-01',
       exemptCert: 
        { Detail: 
           { CreatedDate: '2016-03-01',
             PurchaserExemptionReason: { ExemptionReason: [ { ExemptionReason: 'FederalGovernmentDepartment' } ] },
             PurchaserBusinessType: 
              { BusinessType: 
                 { enum: 
                    [ 'AccommodationAndFoodServices',
                      'AccommodationAndFoodServices',
                      'AccommodationAndFoodServices' ] } },
             PurchaserTaxID: 
              { StateOfIssue: { State: 'CT' },
                IDNumber: '00000-00000',
                TaxType: { enum: [ 'SSN', 'SSN', 'SSN' ] } },
             PurchaserZip: '06851',
             PurchaserState: null,
             PurchaserCity: 'Norwalk',
             PurchaserAddress2: 'Third Floor',
             PurchaserAddress1: '162 East Avenue',
             PurchaserTitle: 'CEO',
             PurchaserLastName: 'Campbell',
             PurchaserFirstName: 'David',
             SinglePurchaseOrderNumber: '23463',
             SinglePurchase: false,
             ExemptStates: 
              { ArrayOfExemptState: 
                 [ { IdentificationNumber: '00000-00000',
                     ReasonForExemption: null,
                     StateAbbr: null } ] } },
          CertificateID: '04fe9a97-a579-43c5-bb1a-58ed29bf0a6a' },
       deliveredBySeller: false,
       destination: 
        { Zip4: '5715',
          Zip5: '06851',
          State: 'CT',
          City: 'Norwalk',
          Address2: 'Third Floor',
          Address1: '162 East Avenue' },
       origin: 
        { Zip4: '5715',
          Zip5: '06851',
          State: 'CT',
          City: 'Norwalk',
          Address2: 'Third Floor',
          Address1: '162 East Avenue' },
       cartItems: { Qty: 1, Price: 9.95, TIC: 11010, ItemID: '8LA06052', Index: 0 },
       orderID: '04fe9a97-a579-43c5-bb1a-58ed29bf0a6a',
       cartID: '04fe9a97-a579-43c5-bb1a-58ed29bf0a6a',
       customerID: 'CustomerX' } ],
  apiLoginID: '115E9050' }));
req.end();
import http.client

conn = http.client.HTTPSConnection("api.taxcloud.net")

payload = "{\"transactions\":[{\"dateCaptured\":\"2016-03-01\",\"dateAuthorized\":\"2016-03-01\",\"dateTransaction\":\"2016-03-01\",\"exemptCert\":{\"Detail\":{\"CreatedDate\":\"2016-03-01\",\"PurchaserExemptionReason\":{\"ExemptionReason\":[{\"ExemptionReason\":\"FederalGovernmentDepartment\"}]},\"PurchaserBusinessType\":{\"BusinessType\":{\"enum\":[\"AccommodationAndFoodServices\",\"AccommodationAndFoodServices\",\"AccommodationAndFoodServices\"]}},\"PurchaserTaxID\":{\"StateOfIssue\":{\"State\":\"CT\"},\"IDNumber\":\"00000-00000\",\"TaxType\":{\"enum\":[\"SSN\",\"SSN\",\"SSN\"]}},\"PurchaserZip\":\"06851\",\"PurchaserState\":null,\"PurchaserCity\":\"Norwalk\",\"PurchaserAddress2\":\"Third Floor\",\"PurchaserAddress1\":\"162 East Avenue\",\"PurchaserTitle\":\"CEO\",\"PurchaserLastName\":\"Campbell\",\"PurchaserFirstName\":\"David\",\"SinglePurchaseOrderNumber\":\"23463\",\"SinglePurchase\":false,\"ExemptStates\":{\"ArrayOfExemptState\":[{\"IdentificationNumber\":\"00000-00000\",\"ReasonForExemption\":null,\"StateAbbr\":null}]}},\"CertificateID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\"},\"deliveredBySeller\":false,\"destination\":{\"Zip4\":\"5715\",\"Zip5\":\"06851\",\"State\":\"CT\",\"City\":\"Norwalk\",\"Address2\":\"Third Floor\",\"Address1\":\"162 East Avenue\"},\"origin\":{\"Zip4\":\"5715\",\"Zip5\":\"06851\",\"State\":\"CT\",\"City\":\"Norwalk\",\"Address2\":\"Third Floor\",\"Address1\":\"162 East Avenue\"},\"cartItems\":{\"Qty\":1,\"Price\":9.95,\"TIC\":11010,\"ItemID\":\"8LA06052\",\"Index\":0},\"orderID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"cartID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"customerID\":\"CustomerX\"}],\"apiLoginID\":\"115E9050\"}"

headers = {
    'accept': "application/json",
    'content-type': "application/json"
    }

conn.request("POST", "/1.0/TaxCloud/AddTransactions?apiKey=YOUR%20API%20KEY%20HERE", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.taxcloud.net/1.0/TaxCloud/AddTransactions?apiKey=YOUR%20API%20KEY%20HERE",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"transactions\":[{\"dateCaptured\":\"2016-03-01\",\"dateAuthorized\":\"2016-03-01\",\"dateTransaction\":\"2016-03-01\",\"exemptCert\":{\"Detail\":{\"CreatedDate\":\"2016-03-01\",\"PurchaserExemptionReason\":{\"ExemptionReason\":[{\"ExemptionReason\":\"FederalGovernmentDepartment\"}]},\"PurchaserBusinessType\":{\"BusinessType\":{\"enum\":[\"AccommodationAndFoodServices\",\"AccommodationAndFoodServices\",\"AccommodationAndFoodServices\"]}},\"PurchaserTaxID\":{\"StateOfIssue\":{\"State\":\"CT\"},\"IDNumber\":\"00000-00000\",\"TaxType\":{\"enum\":[\"SSN\",\"SSN\",\"SSN\"]}},\"PurchaserZip\":\"06851\",\"PurchaserState\":null,\"PurchaserCity\":\"Norwalk\",\"PurchaserAddress2\":\"Third Floor\",\"PurchaserAddress1\":\"162 East Avenue\",\"PurchaserTitle\":\"CEO\",\"PurchaserLastName\":\"Campbell\",\"PurchaserFirstName\":\"David\",\"SinglePurchaseOrderNumber\":\"23463\",\"SinglePurchase\":false,\"ExemptStates\":{\"ArrayOfExemptState\":[{\"IdentificationNumber\":\"00000-00000\",\"ReasonForExemption\":null,\"StateAbbr\":null}]}},\"CertificateID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\"},\"deliveredBySeller\":false,\"destination\":{\"Zip4\":\"5715\",\"Zip5\":\"06851\",\"State\":\"CT\",\"City\":\"Norwalk\",\"Address2\":\"Third Floor\",\"Address1\":\"162 East Avenue\"},\"origin\":{\"Zip4\":\"5715\",\"Zip5\":\"06851\",\"State\":\"CT\",\"City\":\"Norwalk\",\"Address2\":\"Third Floor\",\"Address1\":\"162 East Avenue\"},\"cartItems\":{\"Qty\":1,\"Price\":9.95,\"TIC\":11010,\"ItemID\":\"8LA06052\",\"Index\":0},\"orderID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"cartID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"customerID\":\"CustomerX\"}],\"apiLoginID\":\"115E9050\"}",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "content-type: application/json"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.taxcloud.net/1.0/TaxCloud/AddTransactions?apiKey=YOUR%20API%20KEY%20HERE"

	payload := strings.NewReader("{\"transactions\":[{\"dateCaptured\":\"2016-03-01\",\"dateAuthorized\":\"2016-03-01\",\"dateTransaction\":\"2016-03-01\",\"exemptCert\":{\"Detail\":{\"CreatedDate\":\"2016-03-01\",\"PurchaserExemptionReason\":{\"ExemptionReason\":[{\"ExemptionReason\":\"FederalGovernmentDepartment\"}]},\"PurchaserBusinessType\":{\"BusinessType\":{\"enum\":[\"AccommodationAndFoodServices\",\"AccommodationAndFoodServices\",\"AccommodationAndFoodServices\"]}},\"PurchaserTaxID\":{\"StateOfIssue\":{\"State\":\"CT\"},\"IDNumber\":\"00000-00000\",\"TaxType\":{\"enum\":[\"SSN\",\"SSN\",\"SSN\"]}},\"PurchaserZip\":\"06851\",\"PurchaserState\":null,\"PurchaserCity\":\"Norwalk\",\"PurchaserAddress2\":\"Third Floor\",\"PurchaserAddress1\":\"162 East Avenue\",\"PurchaserTitle\":\"CEO\",\"PurchaserLastName\":\"Campbell\",\"PurchaserFirstName\":\"David\",\"SinglePurchaseOrderNumber\":\"23463\",\"SinglePurchase\":false,\"ExemptStates\":{\"ArrayOfExemptState\":[{\"IdentificationNumber\":\"00000-00000\",\"ReasonForExemption\":null,\"StateAbbr\":null}]}},\"CertificateID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\"},\"deliveredBySeller\":false,\"destination\":{\"Zip4\":\"5715\",\"Zip5\":\"06851\",\"State\":\"CT\",\"City\":\"Norwalk\",\"Address2\":\"Third Floor\",\"Address1\":\"162 East Avenue\"},\"origin\":{\"Zip4\":\"5715\",\"Zip5\":\"06851\",\"State\":\"CT\",\"City\":\"Norwalk\",\"Address2\":\"Third Floor\",\"Address1\":\"162 East Avenue\"},\"cartItems\":{\"Qty\":1,\"Price\":9.95,\"TIC\":11010,\"ItemID\":\"8LA06052\",\"Index\":0},\"orderID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"cartID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"customerID\":\"CustomerX\"}],\"apiLoginID\":\"115E9050\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Request Body

Name Type Required Description Example
AddTransactions Object Required

AddTransactions Request

{
  "apiLoginID": "115E9050",
String

Your TaxCloud API ID uniquely identifies which Website associated with your TaxCloud account is making this request. Find your API ID(s) in the TaxCloud Websites Area.

  transactions: [
Array

Add a batch of transactions (up to 25 at a time) from offline sources.

    {
    { ... }
Object

Transaction

      "customerID": "CustomerX",
String

The unique identifier for the customer entity making a purchase. This should be your system's internal identifier (usually an integer or GUID). This value should not be a value (such as an email address) which could be used to personally identify your customer.

      "cartID": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)

For AddTransactions API, this value can (and probably should) be the same as the orderID.

      "orderID": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)

Commerce system-issued unique transaction/order iden

      cartItems: [
Array

An array of AddTransactionCartItems (each a AddTransactionCartItem) being purchased by the customer.

        {
        { ... }
Object

AddTransactionCartItem

          "Index": 0,
Integer

Zero-based index of the item being purchased. Zero-based means the first item in the cart has an Index of 0, the second item has an index of 1, and so on.

          "ItemID": "8LA06052",
String

Unique identifier (such as a SKU or GUID) used by your commerce system to uniquely identify a particular product.

          "TIC": "11010",
String

The Taxability Information Code (or TIC) appropriate for the item being purchased. For more information, please review the Taxability Information Codes area

          "Price": 9,
Integer

The per-item price of the item being purchased. IMPORTANT This is the price to be paid by the customer after application of any discounts or coupons

          "Qty": 1,
Integer

The quantity of this particular item being purchased.

          "Rate": 0.0355
Number

This is the only attribute unique to AddTransactionCartItems. This should be the decimal representation of the sales tax rate charged to the customer at the time of sale. If you do not know the exact rate used at the time of sale, but you know how much tax was collected, simply divide that tax amount by the item price. For example: If the item cost was $100.00 and your commerce system collected $3.50 in tax, the Rate would be 3.50 divided by 100.00, which equals 0.035 -- this would be the Rate value to provide. This is important because TaxCloud automatically re-calculates all transactions added via the AddTransactions API (to ensure the correct amount of tax due is reported). In addition, TaxCloud will display discrepancies between what happened at the time of sale and the actual amount due in the TaxCloud Transactions Area.

        }
      ]
      "origin": {
      "origin": { ... }
Object

This is the origin address of the shipment (your store or warehouse)

        "Address1": "162 East Avenue",
String

A numbered street address.

        "Address2": "Third Floor",
String

A second address line.

        "City": "Norwalk",
String

The name of the City.

        "State": "CT",
String

Abbreviated form (only two characters) of the State

        "Zip5": "06851",
String

The 5-digit US Zip Code.

        "Zip4": "5715"
String

The 4-digit extended Plus4 US Zip Code

      },
      "destination": {
      "destination": { ... }
Object

This is your customer's delivery address. For digital goods or services, this is your customer's billing/payment address.

        "Address1": "162 East Avenue",
String

A numbered street address.

        "Address2": "Third Floor",
String

A second address line.

        "City": "Norwalk",
String

The name of the City.

        "State": "CT",
String

Abbreviated form (only two characters) of the State

        "Zip5": "06851",
String

The 5-digit US Zip Code.

        "Zip4": "5715"
String

The 4-digit extended Plus4 US Zip Code.

      },
      "deliveredBySeller": false,
Boolean

Is this purchase going to be delivered by the seller in a seller-owned vehicle, and not by common carrier (such as UPS or Fedex)?

      "exemptCert": {
      "exemptCert": { ... }
Object
      },
      "dateTransaction": "2017-02-23",
String (Date)

This is the date the order was placed.

      "dateAuthorized": "2017-02-23",
String (Date)

This is the date the order was authorized with the payments processor.

      "dateCaptured": "2017-02-23"
String (Date)

This is the date the order was shipped to the customer and payment was captured with the payments processor.

    }
  ]
}

Responses

200 Success (Empty Response)

DeleteExemptCertificate

Open in API Explorer
POST 1.0/TaxCloud/DeleteExemptCertificate

Remove a previously saved/created Entity Exemption Certificate for a given customerID.

Example Request

Format:
curl --request POST \
  --url 'https://api.taxcloud.net/1.0/TaxCloud/DeleteExemptCertificate?apiKey=YOUR%20API%20KEY%20HERE' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{"customerID":"CustomerX","apiLoginId":"115E9050"}'
require 'uri'
require 'net/http'

url = URI("https://api.taxcloud.net/1.0/TaxCloud/DeleteExemptCertificate?apiKey=YOUR%20API%20KEY%20HERE")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"customerID\":\"CustomerX\",\"apiLoginId\":\"115E9050\"}"

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.taxcloud.net",
  "port": null,
  "path": "/1.0/TaxCloud/DeleteExemptCertificate?apiKey=YOUR%20API%20KEY%20HERE",
  "headers": {
    "accept": "application/json",
    "content-type": "application/json"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({ customerID: 'CustomerX', apiLoginId: '115E9050' }));
req.end();
import http.client

conn = http.client.HTTPSConnection("api.taxcloud.net")

payload = "{\"customerID\":\"CustomerX\",\"apiLoginId\":\"115E9050\"}"

headers = {
    'accept': "application/json",
    'content-type': "application/json"
    }

conn.request("POST", "/1.0/TaxCloud/DeleteExemptCertificate?apiKey=YOUR%20API%20KEY%20HERE", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.taxcloud.net/1.0/TaxCloud/DeleteExemptCertificate?apiKey=YOUR%20API%20KEY%20HERE",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"customerID\":\"CustomerX\",\"apiLoginId\":\"115E9050\"}",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "content-type: application/json"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.taxcloud.net/1.0/TaxCloud/DeleteExemptCertificate?apiKey=YOUR%20API%20KEY%20HERE"

	payload := strings.NewReader("{\"customerID\":\"CustomerX\",\"apiLoginId\":\"115E9050\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Request Body

Name Type Required Description Example
DeleteExemptCertificate Object Required

Remove a previously saved/created Entity Exemption Certificate for a given customerID.

{
  "apiLoginId": "115E9050",
String

Your TaxCloud API ID uniquely identifies which Website associated with your TaxCloud account is making this request. Find your API ID(s) in the TaxCloud Websites Area.

  "customerID": "CustomerX",
String

The unique identifier for the customer entity removing the previously created Exemption Certificate.

This should be your system's internal identifier (usually an integer or UUID/GUID). This value should not be a value (such as an email address) which could be used to personally identify your customer.

  "certificateID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
String

Exemption Certificate ID (certificateID) of a previously saved TaxCloud Exemption Certificate

}

Returned

Open in API Explorer
POST 1.0/TaxCloud/Returned

Return a previously Captured transaction. Supports entire order returns as well as individual item returns and even partial item-level returns.

Example Request

Format:
curl --request POST \
  --url 'https://api.taxcloud.net/1.0/TaxCloud/Returned?apiKey=YOUR%20API%20KEY%20HERE' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{"returnedDate":"2016-04-22","cartItems":[{"Qty":1,"Price":9.95,"TIC":11010,"ItemID":"8LA06052","Index":0}],"orderID":"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a","apiLoginId":"115E9050"}'
require 'uri'
require 'net/http'

url = URI("https://api.taxcloud.net/1.0/TaxCloud/Returned?apiKey=YOUR%20API%20KEY%20HERE")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"returnedDate\":\"2016-04-22\",\"cartItems\":[{\"Qty\":1,\"Price\":9.95,\"TIC\":11010,\"ItemID\":\"8LA06052\",\"Index\":0}],\"orderID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"apiLoginId\":\"115E9050\"}"

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.taxcloud.net",
  "port": null,
  "path": "/1.0/TaxCloud/Returned?apiKey=YOUR%20API%20KEY%20HERE",
  "headers": {
    "accept": "application/json",
    "content-type": "application/json"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({ returnedDate: '2016-04-22',
  cartItems: [ { Qty: 1, Price: 9.95, TIC: 11010, ItemID: '8LA06052', Index: 0 } ],
  orderID: '04fe9a97-a579-43c5-bb1a-58ed29bf0a6a',
  apiLoginId: '115E9050' }));
req.end();
import http.client

conn = http.client.HTTPSConnection("api.taxcloud.net")

payload = "{\"returnedDate\":\"2016-04-22\",\"cartItems\":[{\"Qty\":1,\"Price\":9.95,\"TIC\":11010,\"ItemID\":\"8LA06052\",\"Index\":0}],\"orderID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"apiLoginId\":\"115E9050\"}"

headers = {
    'accept': "application/json",
    'content-type': "application/json"
    }

conn.request("POST", "/1.0/TaxCloud/Returned?apiKey=YOUR%20API%20KEY%20HERE", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.taxcloud.net/1.0/TaxCloud/Returned?apiKey=YOUR%20API%20KEY%20HERE",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"returnedDate\":\"2016-04-22\",\"cartItems\":[{\"Qty\":1,\"Price\":9.95,\"TIC\":11010,\"ItemID\":\"8LA06052\",\"Index\":0}],\"orderID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"apiLoginId\":\"115E9050\"}",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "content-type: application/json"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.taxcloud.net/1.0/TaxCloud/Returned?apiKey=YOUR%20API%20KEY%20HERE"

	payload := strings.NewReader("{\"returnedDate\":\"2016-04-22\",\"cartItems\":[{\"Qty\":1,\"Price\":9.95,\"TIC\":11010,\"ItemID\":\"8LA06052\",\"Index\":0}],\"orderID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"apiLoginId\":\"115E9050\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Request Body

Name Type Required Description Example
ReturnedRequest Object Required

This is the Returned Request

{
  "apiLoginId": "115E9050",
String

Your TaxCloud API ID uniquely identifies which Website associated with your TaxCloud account is making this request. Find your API ID(s) in the TaxCloud Websites Area.

  "orderID": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)

Commerce system-issued unique transaction/order identifier.

  cartItems: [
Array

Cart Items to return

    {
    { ... }
Object

CartItem

      "Index": 0,
Integer

Zero-based index of the item being purchased. Zero-based means the first item in the cart has an Index of 0, the second item has an index of 1, and so on.

      "ItemID": "8LA06052",
String

Unique identifier (such as a SKU or GUID) used by your commerce system to uniquely identify a particular product.

      "TIC": 11010,
Integer

The Taxability Information Code (or TIC) appropriate for the item being purchased. For more information, please review the Taxability Information Codes area

      "Price": 9.95,
Number

The per-item price of the item being purchased. IMPORTANT This is the price to be paid by the customer after application of any discounts or coupons

      "Qty": 1
Integer

The quantity of this particular item being purchased.

    }
  ]
  "returnedDate": "2017-02-23"
String (Date)

Date that the items were returned on

}

Responses

200 Success TaxCloud US main APIs Returnedresponse
{
  "ReturnedResult": {
  "ReturnedResult": { ... }
Object

ReturnedResult

  }
}

LookupForDate

Open in API Explorer
POST 1.0/TaxCloud/LookupForDate

Lookup tax amounts using a different date than the inferred today's date for lookup.

Example Request

Format:
curl --request POST \
  --url 'https://api.taxcloud.net/1.0/TaxCloud/LookupForDate?apiKey=YOUR%20API%20KEY%20HERE' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{"useDate":"2016-02-29","deliveredBySeller":false,"cartID":"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a","destination":{"Zip4":"5715","Zip5":"06851","State":"CT","City":"Norwalk","Address2":"Third Floor","Address1":"162 East Avenue"},"origin":{"Zip4":"5715","Zip5":"06851","State":"CT","City":"Norwalk","Address2":"Third Floor","Address1":"162 East Avenue"},"cartItems":[{"Qty":1,"Price":9.95,"TIC":11010,"ItemID":"8LA06052","Index":0}],"customerID":"CustomerX","apiLoginId":"115E9050"}'
require 'uri'
require 'net/http'

url = URI("https://api.taxcloud.net/1.0/TaxCloud/LookupForDate?apiKey=YOUR%20API%20KEY%20HERE")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"useDate\":\"2016-02-29\",\"deliveredBySeller\":false,\"cartID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"destination\":{\"Zip4\":\"5715\",\"Zip5\":\"06851\",\"State\":\"CT\",\"City\":\"Norwalk\",\"Address2\":\"Third Floor\",\"Address1\":\"162 East Avenue\"},\"origin\":{\"Zip4\":\"5715\",\"Zip5\":\"06851\",\"State\":\"CT\",\"City\":\"Norwalk\",\"Address2\":\"Third Floor\",\"Address1\":\"162 East Avenue\"},\"cartItems\":[{\"Qty\":1,\"Price\":9.95,\"TIC\":11010,\"ItemID\":\"8LA06052\",\"Index\":0}],\"customerID\":\"CustomerX\",\"apiLoginId\":\"115E9050\"}"

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.taxcloud.net",
  "port": null,
  "path": "/1.0/TaxCloud/LookupForDate?apiKey=YOUR%20API%20KEY%20HERE",
  "headers": {
    "accept": "application/json",
    "content-type": "application/json"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({ useDate: '2016-02-29',
  deliveredBySeller: false,
  cartID: '04fe9a97-a579-43c5-bb1a-58ed29bf0a6a',
  destination: 
   { Zip4: '5715',
     Zip5: '06851',
     State: 'CT',
     City: 'Norwalk',
     Address2: 'Third Floor',
     Address1: '162 East Avenue' },
  origin: 
   { Zip4: '5715',
     Zip5: '06851',
     State: 'CT',
     City: 'Norwalk',
     Address2: 'Third Floor',
     Address1: '162 East Avenue' },
  cartItems: [ { Qty: 1, Price: 9.95, TIC: 11010, ItemID: '8LA06052', Index: 0 } ],
  customerID: 'CustomerX',
  apiLoginId: '115E9050' }));
req.end();
import http.client

conn = http.client.HTTPSConnection("api.taxcloud.net")

payload = "{\"useDate\":\"2016-02-29\",\"deliveredBySeller\":false,\"cartID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"destination\":{\"Zip4\":\"5715\",\"Zip5\":\"06851\",\"State\":\"CT\",\"City\":\"Norwalk\",\"Address2\":\"Third Floor\",\"Address1\":\"162 East Avenue\"},\"origin\":{\"Zip4\":\"5715\",\"Zip5\":\"06851\",\"State\":\"CT\",\"City\":\"Norwalk\",\"Address2\":\"Third Floor\",\"Address1\":\"162 East Avenue\"},\"cartItems\":[{\"Qty\":1,\"Price\":9.95,\"TIC\":11010,\"ItemID\":\"8LA06052\",\"Index\":0}],\"customerID\":\"CustomerX\",\"apiLoginId\":\"115E9050\"}"

headers = {
    'accept': "application/json",
    'content-type': "application/json"
    }

conn.request("POST", "/1.0/TaxCloud/LookupForDate?apiKey=YOUR%20API%20KEY%20HERE", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.taxcloud.net/1.0/TaxCloud/LookupForDate?apiKey=YOUR%20API%20KEY%20HERE",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"useDate\":\"2016-02-29\",\"deliveredBySeller\":false,\"cartID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"destination\":{\"Zip4\":\"5715\",\"Zip5\":\"06851\",\"State\":\"CT\",\"City\":\"Norwalk\",\"Address2\":\"Third Floor\",\"Address1\":\"162 East Avenue\"},\"origin\":{\"Zip4\":\"5715\",\"Zip5\":\"06851\",\"State\":\"CT\",\"City\":\"Norwalk\",\"Address2\":\"Third Floor\",\"Address1\":\"162 East Avenue\"},\"cartItems\":[{\"Qty\":1,\"Price\":9.95,\"TIC\":11010,\"ItemID\":\"8LA06052\",\"Index\":0}],\"customerID\":\"CustomerX\",\"apiLoginId\":\"115E9050\"}",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "content-type: application/json"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.taxcloud.net/1.0/TaxCloud/LookupForDate?apiKey=YOUR%20API%20KEY%20HERE"

	payload := strings.NewReader("{\"useDate\":\"2016-02-29\",\"deliveredBySeller\":false,\"cartID\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\",\"destination\":{\"Zip4\":\"5715\",\"Zip5\":\"06851\",\"State\":\"CT\",\"City\":\"Norwalk\",\"Address2\":\"Third Floor\",\"Address1\":\"162 East Avenue\"},\"origin\":{\"Zip4\":\"5715\",\"Zip5\":\"06851\",\"State\":\"CT\",\"City\":\"Norwalk\",\"Address2\":\"Third Floor\",\"Address1\":\"162 East Avenue\"},\"cartItems\":[{\"Qty\":1,\"Price\":9.95,\"TIC\":11010,\"ItemID\":\"8LA06052\",\"Index\":0}],\"customerID\":\"CustomerX\",\"apiLoginId\":\"115E9050\"}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Request Body

Name Type Required Description Example
LookupForDateRequest Object Required

Lookup tax amounts using a different date than the inferred today's date for lookup.

{
  "apiLoginId": "115E9050",
String

Your TaxCloud API ID uniquely identifies which Website associated with your TaxCloud account is making this request. Find your API ID(s) in the TaxCloud Websites Area.

  "customerID": "CustomerX",
String

The unique identifier for the customer entity making a purchase. This should be your system's internal identifier (usually an integer or GUID). This value should not be a value (such as an email address) which could be used to personally identify your customer.

  cartItems: [
Array

An array of items (each a CartItem) being purchased by the customer.

    {
    { ... }
Object

CartItem

      "Index": 0,
Integer

Zero-based index of the item being purchased. Zero-based means the first item in the cart has an Index of 0, the second item has an index of 1, and so on.

      "ItemID": "8LA06052",
String

Unique identifier (such as a SKU or GUID) used by your commerce system to uniquely identify a particular product.

      "TIC": 11010,
Integer

The Taxability Information Code (or TIC) appropriate for the item being purchased. For more information, please review the Taxability Information Codes area

      "Price": 9.95,
Number

The per-item price of the item being purchased. IMPORTANT This is the price to be paid by the customer after application of any discounts or coupons

      "Qty": 1
Integer

The quantity of this particular item being purchased.

    }
  ]
  "origin": {
  "origin": { ... }
Object

This is the origin address of the shipment (your store or warehouse)

    "Address1": "162 East Avenue",
String

A numbered street address.

    "Address2": "Third Floor",
String

A second address line.

    "City": "Norwalk",
String

The name of the City.

    "State": "CT",
String

Abbreviated form (only two characters) of the State

    "Zip5": "06851",
String

The 5-digit US Zip Code.

    "Zip4": "5715"
String

The 4-digit extended Plus4 US Zip Code

  },
  "destination": {
  "destination": { ... }
Object

This is your customer's delivery address. For digital goods or services, this is your customer's billing/payment address

    "Address1": "162 East Avenue",
String

A numbered street address.

    "Address2": "Third Floor",
String

A second address line.

    "City": "Norwalk",
String

The name of the City.

    "State": "CT",
String

Abbreviated form (only two characters) of the State

    "Zip5": "06851",
String

The 5-digit US Zip Code.

    "Zip4": "5715"
String

The 4-digit extended Plus4 US Zip Code.

  },
  "cartID": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)

If no cartID was provided in the Lookup request, TaxCloud will respond with a UUID/GUID which should be persisted and used in subsequent API calls for this customer's session.

  "deliveredBySeller": false,
Boolean

Is this purchase going to be delivered by the seller in a seller-owned vehicle, and not by common carrier (such as UPS or Fedex)?

  "useDate": "06-01-2016"
String (Date)

Specify a different date than the inferred today's date for lookup

}

Responses

200 Success

Returns array of CartItemResponses

TaxCloud US main APIs Lookupresponse
{
  "CartID": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)

This is the CartID passed in with Lookup. If no CartID was passed in, a unique CartID will be provided in this response which should be used for all subsequent API calls (for this customer).

  CartItemsResponse: [
Array
    {
    { ... }
Object

Cartitemsresponse

      "CartItemIndex": 0,
Integer
      "TaxAmount": 9.681
Number
    }
  ]
  "ResponseType": 3,
Integer
  "Messages": [
    "foo",
    "foo",
    "foo"
  ]
Array
}